*{box-sizing:border-box}
:root{--bg:#f4f4f5;--card:#fff;--text:#29292b;--muted:#77777b;--line:#dedee1;--dark:#29292b;--soft:#ececef;--success:#e8f7ed;--error:#fdecec}
html,body{margin:0;min-height:100%;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,460px);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 16px 50px rgba(0,0,0,.07)}
.brand{font-weight:800;letter-spacing:.14em;font-size:28px;margin-bottom:24px}.brand-small{font-size:20px;margin:0}h1{margin:0 0 10px;font-size:30px}h2{margin-top:0}.muted{color:var(--muted)}
form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-weight:600;font-size:14px}input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
button{border:0;background:var(--dark);color:#fff;padding:13px 18px;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.alert{padding:12px 14px;border-radius:10px;margin:16px 0;font-size:14px}.alert-success{background:var(--success)}.alert-error{background:var(--error)}
.hint{margin-top:22px;font-size:13px;color:var(--muted)}.topbar{height:64px;padding:0 24px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar-user{display:flex;gap:18px;align-items:center;font-size:14px}
.page{max-width:1120px;margin:0 auto;padding:34px 24px}.hero{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted);margin-bottom:9px}.role-badge{background:var(--dark);color:#fff;padding:8px 12px;border-radius:999px;font-size:13px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}@media(max-width:760px){.grid{grid-template-columns:1fr}.hero{flex-direction:column}.auth-card{padding:24px}}
