/* Auth has its own boundary: dashboard and report styles must not own forms. */
#login-screen{box-sizing:border-box;min-height:100vh;min-height:100dvh;padding:48px 20px;background:var(--color-background-secondary-default,#f7f7f7);color:var(--color-text-primary,#171717);font-family:var(--font-sans,Inter,sans-serif);font-size:14px;line-height:1.5}
#login-screen .login-card{box-sizing:border-box;width:min(100%,420px);margin:0;padding:32px;background:var(--color-background-primary-default,#fff);border:1px solid var(--color-separator-border,#e8e8e8);border-radius:20px;box-shadow:0 4px 20px rgb(0 0 0 / .025)}
#login-screen .login-brand{display:flex;justify-content:center;align-items:center;width:100%;margin:0 0 28px;text-decoration:none}
#login-screen .brand-logo{display:block;width:144px;max-width:100%;height:auto;max-height:80px;object-fit:contain}
#login-screen .auth-brand-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#login-screen .eyebrow{margin:0 0 8px;color:var(--color-text-secondary,#737373);font-size:12px;font-weight:500;letter-spacing:.04em}
#login-screen h1{margin:0;font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.025em}
#login-screen #login-title{font-size:32px;line-height:1.2;letter-spacing:-.03em}
#login-screen #login-title,#login-form>.muted{text-align:center}
#login-screen .muted{margin:10px 0 24px;color:var(--color-text-secondary,#737373);font-size:14px;line-height:1.6}
#login-screen label{display:block;margin:18px 0 7px;font-size:14px;line-height:20px;font-weight:500}
#login-screen input{box-sizing:border-box;display:block;width:100%;height:46px;min-width:0;padding:11px 13px;border:1px solid var(--color-border-button-default,#dedede);border-radius:10px;background:var(--color-background-primary-default,#fff);color:inherit;font:inherit;box-shadow:0 1px 2px rgb(0 0 0 / .03);outline:none}
#login-screen input::placeholder{color:var(--color-text-tertiary,#999)}
#login-screen input:focus-visible{border-color:#2970ff;box-shadow:0 0 0 3px rgb(41 112 255 / .15)}
#login-screen .button{box-sizing:border-box;display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;margin-top:24px;padding:11px 16px;border:1px solid #1555e8;border-radius:10px;background:#2164f4;color:#fff;font:inherit;font-weight:500;line-height:22px;box-shadow:inset 0 1px 0 rgb(255 255 255 / .18),0 1px 2px rgb(0 0 0 / .08);cursor:pointer}
#login-screen .button:hover:not(:disabled){background:#1857df}
#login-screen .button:disabled{opacity:.6;cursor:wait}
#login-screen .text-link{display:flex;justify-content:center;align-items:center;min-height:44px;width:100%;margin-top:8px;padding:10px 8px;border:0;border-radius:8px;background:transparent;color:#215bc7;font:inherit;font-weight:500;line-height:24px;cursor:pointer}
#login-screen .text-link:hover{background:var(--color-background-secondary-default,#f7f7f7)}
#login-screen button:focus-visible,#login-screen a:focus-visible{outline:2px solid #2970ff;outline-offset:3px}
#login-screen .invitation-note{display:block;margin:20px 0 0;padding-top:20px;border-top:1px solid var(--color-separator-border,#e8e8e8);color:var(--color-text-secondary,#737373);font-size:13px;line-height:1.6}
#login-screen .login-foot{margin:20px 0 0;color:var(--color-text-secondary,#737373);font-size:12px;line-height:1.6}
#login-screen .field-help{display:block;margin-top:8px;color:var(--color-text-secondary,#737373);font-size:13px;line-height:1.5}
#login-screen #login-install-app{margin-top:12px}
#install-app-dialog{box-sizing:border-box;margin:auto;width:min(440px,calc(100vw - 32px));max-height:min(80vh,600px);padding:0;border:1px solid var(--color-separator-border,#d8dde3);border-radius:16px;background:var(--color-background-primary-default,#fff);color:var(--color-text-primary,#171717);box-shadow:0 20px 60px rgb(0 0 0 / .22)}
#install-app-dialog::backdrop{background:rgb(12 24 38 / .55)}
.install-app-dialog-content{display:grid;gap:16px;padding:24px}
.install-app-dialog-content h2,.install-app-dialog-content p{margin:0}
.install-app-dialog-content p{color:var(--color-text-secondary,#525252);line-height:1.6}
.install-app-dialog-content .button{min-height:44px;padding:10px 16px;border:0;border-radius:10px;background:var(--gradient-button-primary-default,#171717);color:var(--color-foreground-full,#fff);font:inherit;font-weight:500;cursor:pointer}
.install-app-dialog-content .button:focus-visible{outline:2px solid var(--color-border-focus-ring,#2970ff);outline-offset:3px}
#login-screen .form-message{margin:12px 0 0;padding:12px;border-radius:8px;background:#fff3f2;color:#9e2923;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:479px){#login-screen{padding:24px 16px;align-items:center}#login-screen .login-card{padding:28px 24px;border-radius:16px}#login-screen input{font-size:16px}#login-screen .brand-logo{width:132px;max-height:72px}}
@media(max-width:359px){#login-screen .login-card{padding:24px 20px}}
@media(max-height:650px){#login-screen{align-items:start;padding-top:24px;padding-bottom:24px}}
