:root{--color-blue-50: #e6f0f5;--color-blue-500: #006b9b;--color-blue-600: #005880;--color-blue-900: #003349;--color-green-500: #658d1b;--color-gray-100: #f5f7f6;--color-gray-700: #54585a;--color-red-50: #fdeaea;--color-red-700: #d32f2f;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";color:var(--color-gray-700);background:var(--color-gray-100);font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.brand-header{display:flex;align-items:center;gap:12px;padding:16px 32px;border-bottom:1px solid #d1d5db;background:#fff}.brand-header img{flex:none;border-radius:4px}.brand,.brand-tagline{margin:0;color:#111827}.brand{font-size:16px;font-weight:600}.brand-tagline{font-size:12px}.login-content{flex:1;display:grid;place-items:center;padding:48px 24px}.login-card{width:100%;max-width:448px;padding:32px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000001a}h1{margin:0 0 12px;color:var(--color-blue-900);font-size:28px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}p{margin:0}label{display:block;margin-top:24px;color:var(--color-blue-900);font-size:14px;font-weight:500}input{width:100%;min-width:0;min-height:44px;margin-top:8px;padding:10px 12px;border:1px solid #9ca3af;border-radius:6px;background:#fff;color:var(--color-blue-900);font:inherit}input:hover:not(:disabled){border-color:var(--color-blue-500)}input:focus-visible,button:focus-visible{outline:3px solid var(--color-green-500);outline-offset:2px}button{min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:6px;background:var(--color-blue-500);color:#fff;font:inherit;font-weight:600;cursor:pointer}button:hover:not(:disabled){background:var(--color-blue-600)}button.secondary{border-color:#d1d5db;background:#fff;color:var(--color-blue-900)}button.secondary:hover:not(:disabled){background:var(--color-blue-50)}button:disabled,input:disabled{opacity:.65;cursor:wait}.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.actions button:first-child{flex:1}[role=alert]{margin-top:20px;padding:12px;border-radius:6px;background:var(--color-red-50);color:var(--color-red-700)}@media(max-width:480px){.brand-header{padding-inline:20px}.login-content{padding:32px 16px}.login-card{padding:24px}}
