/* Invenzra sign-in / sign-up: light glass in the app's own colours; applies only to Login-template pages (visual only) */
@property --ivl-a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@keyframes ivl-drift { 0% { transform: translate3d(-3%, -2%, 0) scale(1); } 50% { transform: translate3d(3%, 2%, 0) scale(1.08); } 100% { transform: translate3d(-2%, 3%, 0) scale(1.03); } }
@keyframes ivl-card { from { opacity: 0; transform: translateY(34px) scale(.96); filter: blur(12px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes ivl-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes ivl-spin { to { --ivl-a: 360deg; } }
@keyframes ivl-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes ivl-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(109,74,255,.4), 0 16px 34px -14px rgba(37,99,235,.55); } 50% { box-shadow: 0 0 0 14px rgba(109,74,255,0), 0 16px 34px -14px rgba(37,99,235,.55); } }
@keyframes ivl-shine { from { transform: translateX(-140%) skewX(-18deg); } to { transform: translateX(380%) skewX(-18deg); } }
body.t-PageBody--login { background: linear-gradient(135deg, #f7f8ff 0%, #eee9ff 48%, #e6f0ff 100%) !important; color: #0D1626; position: relative; overflow-x: hidden; min-height: 100vh; }
body.t-PageBody--login::before { content: ""; position: fixed; inset: -20%; z-index: 0; pointer-events: none; background: radial-gradient(40% 40% at 18% 22%, rgba(37,99,235,.30), transparent 70%), radial-gradient(36% 36% at 82% 18%, rgba(109,74,255,.30), transparent 70%), radial-gradient(40% 40% at 72% 88%, rgba(14,159,110,.20), transparent 70%), radial-gradient(30% 30% at 14% 86%, rgba(236,72,153,.18), transparent 70%); animation: ivl-drift 20s ease-in-out infinite alternate; }
body.t-PageBody--login::after { content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; background-image: linear-gradient(rgba(109,74,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(109,74,255,.06) 1px, transparent 1px); background-size: 52px 52px; -webkit-mask-image: radial-gradient(70% 70% at 50% 50%, #000, transparent); mask-image: radial-gradient(70% 70% at 50% 50%, #000, transparent); }
body.t-PageBody--login .t-Login-container { position: relative; z-index: 1; background: transparent !important; }
body.t-PageBody--login .t-Login-region { position: relative; max-width: 440px; margin-inline: auto !important; padding: 34px 34px 30px; border-radius: 26px; background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,255,255,.7)) !important; -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%); border: 1px solid rgba(255,255,255,.95) !important; box-shadow: 0 40px 90px -40px rgba(37,50,140,.5), 0 2px 0 rgba(255,255,255,.9) inset !important; color: #0D1626; animation: ivl-card .9s cubic-bezier(.22,.8,.24,1) backwards; }
body.t-PageBody--login .t-Login-region::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1.5px; background: conic-gradient(from var(--ivl-a), transparent 0 55%, rgba(109,74,255,.85) 70%, rgba(37,99,235,.85) 85%, transparent 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: ivl-spin 7s linear infinite; pointer-events: none; }
body.t-PageBody--login .t-Login-header { text-align: center; }
body.t-PageBody--login img.t-Login-logo { width: 76px; height: 76px; border-radius: 22px; object-fit: contain; content: url(icons/app-icon-256-rounded.png); background: #fff; padding: 8px; animation: ivl-float 5s ease-in-out infinite, ivl-glow 3s ease-out infinite; }
body.t-PageBody--login .t-Login-title { margin-top: 14px; font-size: 24px; font-weight: 800; letter-spacing: .2px; background: linear-gradient(90deg, #2563EB, #6D4AFF); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #2563EB; animation: ivl-rise .7s ease .25s backwards; }
body.t-PageBody--login .t-Login-body { animation: ivl-rise .7s ease .35s backwards; }
body.t-PageBody--login .t-Login-buttons, body.t-PageBody--login .t-Login-links { animation: ivl-rise .7s ease .5s backwards; }
body.t-PageBody--login .t-Form-fieldContainer { margin-bottom: 14px; }
body.t-PageBody--login .apex-item-text, body.t-PageBody--login input[type=password], body.t-PageBody--login input[type=text] { background: #fff !important; color: #0D1626 !important; border: 1px solid #d9def0 !important; border-radius: 14px !important; height: 46px; padding-inline: 44px 14px; transition: border-color .25s, box-shadow .3s, background .25s; }
body.t-PageBody--login input::placeholder { color: #8a90ab !important; }
body.t-PageBody--login .apex-item-text:focus, body.t-PageBody--login input[type=password]:focus { border-color: #6D4AFF !important; box-shadow: 0 0 0 4px rgba(109,74,255,.16), 0 12px 26px -14px rgba(109,74,255,.7) !important; outline: 0; }
body.t-PageBody--login .t-Form-itemWrapper .a-Icon, body.t-PageBody--login .t-Form-itemWrapper .fa, body.t-PageBody--login .apex-item-icon { color: #6D4AFF !important; }
body.t-PageBody--login .t-Form-label, body.t-PageBody--login label, body.t-PageBody--login .apex-item-option label { color: #3b3f5c !important; }
body.t-PageBody--login .t-Button { border-radius: 14px; height: 48px; font-weight: 700; letter-spacing: .3px; position: relative; overflow: hidden; transition: transform .25s cubic-bezier(.22,.8,.24,1), box-shadow .3s, background .3s, border-color .3s; }
body.t-PageBody--login .t-Button--hot, body.t-PageBody--login .t-Login-buttons .t-Button:first-child { background-image: linear-gradient(135deg, #2563EB, #6D4AFF) !important; border-color: transparent !important; color: #fff !important; box-shadow: 0 16px 30px -14px rgba(109,74,255,.85); }
body.t-PageBody--login .t-Button--hot::after, body.t-PageBody--login .t-Login-buttons .t-Button:first-child::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 30%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent); transform: translateX(-140%) skewX(-18deg); animation: ivl-shine 5s ease-in-out infinite 1.4s; pointer-events: none; }
body.t-PageBody--login .t-Button:hover { transform: translateY(-3px); box-shadow: 0 20px 36px -14px rgba(109,74,255,.9); }
body.t-PageBody--login .t-Button:active { transform: translateY(0) scale(.98); }
body.t-PageBody--login .t-Login-body .t-Button, body.t-PageBody--login .t-Login-links .t-Button, body.t-PageBody--login .t-Login-subRegions .t-Button { background: #fff !important; border: 1px solid #d9def0 !important; color: #3b3f5c !important; box-shadow: 0 10px 22px -16px rgba(37,50,140,.4); }
body.t-PageBody--login .t-Login-body .t-Button:hover, body.t-PageBody--login .t-Login-links .t-Button:hover, body.t-PageBody--login .t-Login-subRegions .t-Button:hover { border-color: #6D4AFF !important; color: #6D4AFF !important; box-shadow: 0 16px 28px -14px rgba(109,74,255,.55); }
body.t-PageBody--login .t-Login-body .t-Button .fa, body.t-PageBody--login .t-Login-subRegions .t-Button .fa, body.t-PageBody--login .t-Login-subRegions .t-Button .t-Icon { color: #6D4AFF !important; }
body.t-PageBody--login a { color: #4b3fbf; }
body.t-PageBody--login .t-Login-links, body.t-PageBody--login .t-Login-buttons { margin-top: 6px; }
body.t-PageBody--login .t-Login-subRegions .t-Region, body.t-PageBody--login .t-Login-subRegions .t-Region-body, body.t-PageBody--login .t-Login-subRegions .t-Region-bodyWrap { background: transparent !important; box-shadow: none !important; border: 0 !important; }
body.t-PageBody--login .t-Login-subRegions { margin-top: 12px; }
body.t-PageBody--login .apex-item-checkbox label, body.t-PageBody--login .t-Form-fieldContainer--radioButtonGroup label { color: #3b3f5c !important; }
@media (max-width: 480px) { body.t-PageBody--login .t-Login-region { padding: 26px 20px; border-radius: 22px; margin-inline: 12px !important; } }
@media (prefers-reduced-motion: reduce) { body.t-PageBody--login *, body.t-PageBody--login::before { animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* ===== Stage 1 tidy-ups (visual only) ===== */
body.t-PageBody--login .t-Login-header > span.t-Login-logo:first-child { display: block; width: 76px; height: 76px; margin: 0 auto; border-radius: 22px; background: #fff url(icons/app-icon-256-rounded.png) center / 80% no-repeat; box-shadow: 0 16px 34px -14px rgba(37,99,235,.55); animation: ivl-float 5s ease-in-out infinite, ivl-glow 3s ease-out infinite; }
body.t-PageBody--login .t-Login-header > span.t-Login-logo:first-child::before, body.t-PageBody--login .t-Login-header > span.t-Login-logo:first-child::after { content: none !important; display: none !important; }
#P9995_P_USER_ID_CONTAINER, #P9995_P_EMAIL_CONTAINER, #P9995_P_VERIFY_CODE_CONTAINER { display: none !important; }
body.t-PageBody--login .t-Login-body .t-Button--link { display: flex; width: 100%; justify-content: center; background: transparent !important; border: 0 !important; box-shadow: none !important; color: #4b3fbf !important; height: auto; min-height: 40px; }
body.t-PageBody--login .t-Login-body .t-Button--link:hover { color: #6D4AFF !important; text-decoration: underline; transform: none; box-shadow: none !important; }

/* ===== Stage 2: Google button, divider, footer notes ===== */
body.t-PageBody--login .ivl-google { display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100%; margin: 0 0 4px; background: #fff !important; border: 1px solid #d9def0 !important; color: #3b3f5c !important; box-shadow: 0 10px 22px -16px rgba(37,50,140,.4); }
body.t-PageBody--login .ivl-google .fa { color: #4285F4; font-size: 18px; }
body.t-PageBody--login .ivl-google:hover { border-color: #6D4AFF !important; color: #6D4AFF !important; }
body.t-PageBody--login .ivl-or { display: flex; align-items: center; gap: 12px; margin: 16px 0 18px; color: #8a90ab; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }
body.t-PageBody--login .ivl-or::before, body.t-PageBody--login .ivl-or::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, #cfd5ee, transparent); }
body.t-PageBody--login .ivl-alt { text-align: center; margin-top: 18px; font-size: 13px; line-height: 1.8; color: #5b6080; animation: ivl-rise .7s ease .6s backwards; }
body.t-PageBody--login .ivl-alt a { color: #4b3fbf; font-weight: 700; text-decoration: none; }
body.t-PageBody--login .ivl-alt a:hover { color: #6D4AFF; text-decoration: underline; }
