:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background:#f6f7f9}*{box-sizing:border-box}body{margin:0}button{cursor:pointer;padding:.5rem .9rem;border:1px solid #c7ccd1;border-radius:6px;background:#fff;font:inherit}button:hover{background:#f0f2f4}button.link{border:none;background:none;color:#2563eb;padding:0;text-decoration:underline}input{display:block;width:100%;margin-top:.25rem;padding:.5rem;border:1px solid #c7ccd1;border-radius:6px;font:inherit}a{color:#2563eb;text-decoration:none}.error{color:#b91c1c}.ok{color:#15803d}.muted{color:#6b7280}.login{max-width:420px;margin:4rem auto;padding:0 1rem}.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem;margin-bottom:1rem}.login label{display:block;margin-bottom:.75rem}.login button[type=submit]{width:100%}.hints ul{margin:.5rem 0 0;padding-left:1.1rem}.layout{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:#fff;border-bottom:1px solid #e5e7eb}.nav{display:flex;gap:1rem}.userbox{display:flex;align-items:center;gap:.75rem}.content{flex:1;max-width:760px;width:100%;margin:0 auto;padding:1.5rem 1.25rem}.footer{padding:.75rem 1.25rem;border-top:1px solid #e5e7eb;color:#6b7280}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.5rem;border-bottom:1px solid #e5e7eb}
