.login-screen{position:fixed;inset:0;z-index:1000;background:linear-gradient(135deg,#17251f 0 45%,#dff36d 45% 100%);display:grid;place-items:center;padding:24px}
.login-brand{position:absolute;left:36px;top:30px;color:white;display:flex;align-items:center;gap:12px}
.login-brand .mark{width:44px;height:44px;border-radius:14px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:900}
.login-card{width:min(460px,100%);background:white;border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.25);padding:38px}
.login-card h1{font-size:30px;margin:8px 0}.login-card>p{color:var(--muted);margin-bottom:26px}.login-card label{margin-top:14px}
.login-card .primary{width:100%;margin:22px 0 14px}.login-card>small{display:block;text-align:center;color:var(--muted)}
.login-error{min-height:20px;color:#a52a2a;font-size:13px;margin-top:12px}
.authenticated .login-screen{display:none}.auth-loading>.sidebar,.auth-loading>main,.logged-out>.sidebar,.logged-out>main{visibility:hidden}.authenticated>.sidebar,.authenticated>main{visibility:visible}
.invite-screen{display:none}.invited .invite-screen{display:grid}.invited #loginScreen,.invited>.sidebar,.invited>main{display:none}
.role-box strong,.role-box small{display:block}.role-box small{color:#9fb0a8;margin:4px 0 12px}.role-box button{width:100%;border:1px solid #3d5348;border-radius:9px;padding:8px;background:transparent;color:white;cursor:pointer}
.empty-state{grid-column:1/-1;padding:28px;background:white;border:1px solid var(--line);border-radius:18px}.empty-state p{color:var(--muted);margin:7px 0 0}
@media(max-width:650px){.login-screen{background:#17251f}.login-brand{position:static;margin-bottom:18px}.login-card{padding:28px}.login-screen{display:flex;flex-direction:column}}
.header-actions{display:flex;align-items:center;gap:12px}.language-picker,.project-switcher{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.language-picker select,.project-switcher select{border:1px solid #d8ddd6;border-radius:11px;background:white;color:var(--ink);padding:11px 34px 11px 12px;font:inherit}.language-picker.compact{float:right;margin:-10px 0 12px}.language-picker.compact span{font-size:12px}.language-picker.compact select{padding:7px 28px 7px 10px}@media(max-width:1100px){.header-actions{flex-wrap:wrap;justify-content:flex-end}.language-picker span,.project-switcher span{display:none}}
.dialog-note{color:var(--muted);margin:8px 0 18px}.project-grants{border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin:18px 0}.project-grants legend{font-weight:800;padding:0 7px}.grant-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.grant-row:last-child{border-bottom:0}.grant-row label{display:flex;align-items:center;gap:10px;margin:0;font-weight:600}.grant-row input{width:auto}.grant-row select{margin:0}.invite-link{display:flex;gap:8px;margin-top:10px}.invite-link input{font-size:12px}.member-row{grid-template-columns:1.2fr .8fr 2fr .6fr}.member-projects{display:flex;flex-wrap:wrap;gap:6px}.member-projects span{background:#eef2eb;border-radius:8px;padding:5px 8px;font-size:11px}.generated.error{background:#fff0ed;border-color:#f1c1b9}
