:root{--ci-blue: #2b4c6e;--ci-ink: #3b3838;--ci-secondary: #607a96;--ci-grey: #b4b3ba;--ci-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--ci-font-sans);color:var(--ci-ink)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--ci-blue);background-image:linear-gradient(color-mix(in srgb,var(--ci-blue) 55%,transparent),color-mix(in srgb,var(--ci-blue) 70%,transparent)),var(--auth-bg-image);background-size:cover;background-position:center}.auth-card{width:100%;max-width:380px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000059;padding:2.5rem 2rem;text-align:center}.auth-logo{height:44px;width:auto;margin:0 auto 1.5rem;display:block}.auth-title{margin:0 0 .25rem;font-size:1.4rem;font-weight:700}.auth-subtitle{margin:0 0 1.75rem;color:var(--ci-secondary);font-size:.95rem}.field{text-align:left;margin-bottom:1rem}.field-label{display:block;font-size:.85rem;color:var(--ci-secondary);margin-bottom:.35rem}.field-input{display:block;width:100%;padding:.65rem .85rem;font-size:.95rem;border:1px solid var(--ci-grey);border-radius:10px;outline:none;font-family:inherit}.field-input:focus{border-color:var(--ci-secondary)}.auth-error{color:#96261a;font-size:.9rem;margin:0 0 1rem;text-align:left}.btn-primary{width:100%;padding:.75rem;border:none;border-radius:10px;background:var(--ci-blue);color:#fff;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .12s ease}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--ci-blue) 82%,#fff)}.btn-primary:disabled{opacity:.6;cursor:default}.mfa-form{display:flex;flex-direction:column;gap:1rem}.auth-hint{margin:0;font-size:.82rem;line-height:1.5;color:var(--ci-secondary);text-align:left}.mfa-qr{align-self:center;border-radius:10px;border:1px solid rgba(0,0,0,.08)}.mfa-secret-details{text-align:left;font-size:.78rem;color:var(--ci-secondary)}.mfa-secret-details summary{cursor:pointer;-webkit-user-select:none;user-select:none}.mfa-secret{display:block;margin-top:.4rem;padding:.4rem .55rem;background:color-mix(in srgb,var(--ci-secondary) 12%,#fff);border-radius:10px;font-size:.8rem;letter-spacing:.08em;word-break:break-all}.mfa-code-input{text-align:center;letter-spacing:.4em;font-size:1.1rem}.auth-link{border:none;background:none;color:var(--ci-secondary);font-size:.82rem;cursor:pointer;padding:0}.auth-link:hover{text-decoration:underline}.landing-page{min-height:100vh;background:color-mix(in srgb,var(--ci-grey) 14%,#fff)}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 2rem;background:var(--ci-blue)}.landing-header-brand{display:flex;align-items:center;gap:.6rem}.landing-logo{height:26px;width:26px}.landing-header-title{color:#fff;font-weight:700;font-size:.95rem}.landing-user{display:flex;align-items:center;gap:1rem;color:#ffffffd9;font-size:.85rem}.btn-secondary{padding:.45rem .9rem;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:transparent;color:#fff;font-family:inherit;font-size:.82rem;cursor:pointer;transition:background-color .12s ease}.btn-secondary:hover{background:#ffffff1a}.landing-main{max-width:960px;margin:0 auto;padding:2.5rem 2rem}.landing-title{margin:0 0 .5rem;font-size:1.5rem;color:var(--ci-ink)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.app-card{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;background:#fff;border:1px solid var(--ci-grey);border-radius:18px;padding:2rem;text-decoration:none;color:inherit;box-shadow:0 1px 3px #0000000a;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.app-card:hover{border-color:var(--ci-blue);box-shadow:0 16px 36px #0000001a;transform:translateY(-2px)}.app-card-icon{width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--ci-blue) 10%,#fff);display:flex;align-items:center;justify-content:center}.app-card-icon img{width:30px;height:30px}.app-card-name{margin:0;font-size:1.2rem;font-weight:700;color:var(--ci-ink)}.app-card-desc{margin:0;font-size:.9rem;line-height:1.45;color:var(--ci-secondary)}
