:root{--allware-deep:#082b44;--allware-blue:#164e70;--allware-accent:#2a9dcc;--allware-text:#143247}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:Inter,"Segoe UI",sans-serif;color:#fff}
.login-page{background:#071e31 url(../img/login-tech-background.webp) center/cover fixed no-repeat;display:flex;flex-direction:column;isolation:isolate;min-height:100vh;position:relative}
.login-page::before{background:linear-gradient(115deg,rgba(5,28,45,.9),rgba(11,61,88,.68) 52%,rgba(13,69,96,.46));content:"";inset:0;position:fixed;z-index:-1}.login-page::after{background:radial-gradient(circle at 20% 45%,rgba(42,157,204,.18),transparent 35%);content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}
.login-shell{align-items:center;display:flex;flex:1;justify-content:flex-start;padding:clamp(2rem,7vw,7rem);width:100%}.login-card{animation:card-in .55s ease-out both;backdrop-filter:blur(20px);background:rgba(248,252,255,.94);border:1px solid rgba(255,255,255,.55);border-radius:22px;box-shadow:0 28px 70px rgba(0,15,28,.38);color:var(--allware-text);max-width:440px;padding:clamp(1.75rem,4vw,2.6rem);width:100%}
.login-brand{border-bottom:1px solid #dbe7ee;margin-bottom:1.7rem;padding-bottom:1.4rem}.login-brand img{display:block;height:auto;max-width:300px;width:88%}.login-eyebrow{color:var(--allware-accent);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.login-heading h1{color:var(--allware-deep);font-size:clamp(1.75rem,4vw,2.2rem);letter-spacing:-.035em;margin:.45rem 0 .5rem}.login-heading p{color:#607b8d;font-size:.94rem;line-height:1.55;margin:0 0 1.6rem}
.login-notice{background:#fff1f1;border:1px solid #f0b6b6;border-radius:10px;color:#8b2525;font-size:.85rem;margin-bottom:1.2rem;padding:.8rem 1rem}.login-field{margin-bottom:1.15rem}.login-field>label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.45rem}.login-input-wrap{align-items:center;background:#fff;border:1px solid #c9d9e3;border-radius:11px;display:flex;transition:border-color .18s,box-shadow .18s}.login-input-wrap:focus-within{border-color:var(--allware-accent);box-shadow:0 0 0 4px rgba(42,157,204,.13)}.login-input-wrap>span{color:#7aa3ba;font-size:.5rem;padding-left:1rem}.login-input-wrap input{background:transparent;border:0;color:#17384d;font:inherit;font-size:.92rem;outline:0;padding:.85rem .9rem;width:100%}.login-input-wrap input::placeholder{color:#91a6b4}
.login-submit{align-items:center;background:linear-gradient(135deg,var(--allware-blue),var(--allware-accent));border:0;border-radius:11px;box-shadow:0 9px 20px rgba(22,78,112,.22);color:#fff;cursor:pointer;display:flex;font:inherit;font-size:.92rem;font-weight:700;justify-content:center;margin-top:.45rem;min-height:48px;padding:.8rem 1rem;position:relative;transition:transform .18s,box-shadow .18s;width:100%}.login-submit:hover{box-shadow:0 12px 25px rgba(22,78,112,.3);transform:translateY(-1px)}.login-submit:focus-visible{outline:3px solid rgba(42,157,204,.35);outline-offset:3px}.login-submit:disabled{cursor:wait;opacity:.78}.login-arrow{font-size:1.25rem;position:absolute;right:1rem}.login-submit.is-loading .login-arrow{animation:pulse 1s ease-in-out infinite}.login-security{color:#78909f;font-size:.72rem;margin:1.25rem 0 0;text-align:center}.login-footer{color:rgba(255,255,255,.72);font-size:.75rem;padding:1rem 1.5rem 1.4rem;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.3)}
@keyframes card-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{transform:translateX(4px)}}@media(max-width:640px){.login-shell{padding:1.25rem}.login-card{border-radius:17px;padding:1.5rem}.login-brand img{width:100%}}@media(prefers-reduced-motion:reduce){.login-card,.login-submit,.login-arrow{animation:none!important;transition:none!important}}
