/* Match the existing TipFlow workspace surfaces and background. */
.login-page{display:grid;place-items:center;min-height:100svh;background:#000;color:#ededf0;color-scheme:dark;position:relative;isolation:isolate}
.login-page .login-background{position:fixed;inset:0;z-index:0;overflow:hidden;background:#000;pointer-events:none}
.login-page .login-background video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.7) contrast(1.15) blur(3px);transform:scale(1.02);opacity:1}
.login-page .login-background-shade{background:radial-gradient(ellipse at 50% 48%,transparent 15%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.8) 100%)}
.login-page .login-shell{position:relative;z-index:1;width:min(440px,calc(100% - 36px));padding:38px 0 25px;margin:0 auto}
.login-brand{display:block;width:fit-content;margin:0 auto 28px;color:#e9e9e9;line-height:1}
.login-wordmark{display:inline-block;white-space:nowrap;font-size:54px;font-weight:900;letter-spacing:-.065em;line-height:1.1}
.login-logo-letter{position:relative;display:inline-block}
.login-logo-money{position:absolute;top:-.03em;left:50%;font-size:.29em;line-height:1;margin:0;letter-spacing:normal;transform:translateX(-35%) rotate(-24deg);color:inherit;text-shadow:0 2px 10px #000}
.login-page .login-card{padding:32px;border:1px solid #ffffff20;border-radius:14px;background:#18181bea;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 55px #0005}
.login-page .login-card-heading h1{font-size:22px;font-weight:650;line-height:1.35;letter-spacing:-.65px;margin:0 0 9px;color:#ededf0}
.login-card-heading p{font-size:12px;line-height:1.7;color:#939398;margin:0 0 27px}
.login-field+.login-field{margin-top:20px}
.login-page #login-form label{display:block;font-size:12px;font-weight:500;color:#bcbcc3;margin:0 0 9px;line-height:1.5}
.login-page #login-form input{display:block;width:100%;height:45px;padding:12px 13px;background:#101012;border:1px solid #35353b;border-radius:7px;color:#ededf0;font-size:12px;line-height:20px;margin:0;transition:border-color .15s,box-shadow .15s}
.login-page #login-form input::placeholder{color:#666670}
.login-page #login-form input:focus{border-color:#95959f;box-shadow:0 0 0 3px #ffffff07;outline:none}
.login-page #login-form .password-input{position:relative}
.login-page #login-form .password-input>input{padding-right:48px}
.login-page #login-form .password-input>button{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;min-height:0;padding:0;margin:0;border:0;border-radius:5px;background:transparent;color:#93939e;line-height:1}
.login-page #login-form .password-input>button:hover{background:#ffffff08;color:#eee}
.login-page #login-form .primary{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:44px;margin:26px 0 0;padding:12px 16px;background:#efeff1;border:1px solid #efeff1;border-radius:7px;box-shadow:none;color:#19191b;font-size:12px;font-weight:600}
.login-page #login-form .primary:hover{background:#d8d8dd;border-color:#d8d8dd}.login-page #login-form .primary i{font-size:11px}
.login-invite-note{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #ffffff0d;padding-top:22px;margin-top:25px;color:#777780}
.login-invite-note>i{font-size:12px;line-height:1.8}.login-invite-note p{font-size:11px;line-height:1.8;color:#888892;margin:0}
.login-support{display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px;margin-top:18px;font-size:10px;line-height:1.8;color:#7e7e87}.login-support a{color:#c0c0c8}.login-support a:hover{color:#fff}.login-support i{font-size:8px;margin-left:4px}
.login-back{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;color:#b0b0b7;margin-top:23px;line-height:1.8}.login-back i{font-size:10px}.login-back:hover{color:#fff}
.login-legal{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;color:#73737d;margin-top:16px;line-height:1.8}.login-legal a:hover{color:#bdbdc4}
.login-page .login-card .notice{margin:18px 0 0;font-size:11px;border-radius:7px}
.login-page :is(a,button):focus-visible{outline:2px solid #ccc;outline-offset:4px}
@media(max-width:480px){.login-page .login-shell{padding:28px 0 22px}.login-page .login-card{padding:27px 23px}.login-page .login-card-heading h1{font-size:20px}.login-brand{margin-bottom:25px}.login-wordmark{font-size:48px}}
@media(prefers-reduced-motion:reduce){.login-page *{transition:none!important}}
