:root { --accent:#00a884; --link:#1f5fff; }
*{box-sizing:border-box}body{margin:0;font-family:system-ui;background:#f3f5f7;color:#0b0c10}
a{color:var(--link)}a:focus{outline:3px solid #000;outline-offset:2px}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;border:2px solid #000}
.topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e6e8eb;padding:.75rem 1rem}
.container{max-width:1000px;margin:1rem auto;padding:0 1rem}
.grid{display:grid;gap:1rem}.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:800px){.grid-3{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #e6e8eb;border-radius:14px;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.6rem .9rem;border-radius:10px}
.input{width:100%;padding:.55rem .6rem;border:1px solid #cfd6df;border-radius:10px}
label{display:block;margin:.4rem 0 .2rem}.error{background:#ffeaea;border:1px solid #ffbaba;color:#8a0000;padding:.6rem;border-radius:10px;margin:.6rem 0}
.success{background:#eafff2;border:1px solid #84f0b5;color:#004d2a;padding:.6rem;border-radius:10px;margin:.6rem 0}
.badge{display:inline-block;background:#eef2ff;color:#1f5fff;border-radius:999px;padding:.2rem .6rem;font-size:.85rem}
.table{width:100%;border-collapse:collapse}.table th,.table td{border:1px solid #e6e8eb;padding:.5rem}
.footer{padding:1rem;text-align:center;color:#38434f}
