
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;line-height:1.5}
a{color:#0b6bf2;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1000px;margin:0 auto;padding:1rem}
.nav{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 0}
.brand{font-weight:700}
.nav a{padding:.25rem .5rem;border-radius:.375rem}
.nav a.active, .btn{background:#0b6bf2;color:white;text-decoration:none}
.btn{display:inline-block;padding:.5rem .75rem;border-radius:.375rem}
.hero{padding:3rem 1rem;background:linear-gradient(135deg,#f0f7ff,#fff)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.card{border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;background:white}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.5rem;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}
footer{margin-top:2rem;padding:2rem 0;border-top:1px solid #e5e7eb;color:#6b7280}
input,textarea,select{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem}
label{font-weight:600;display:block;margin:.5rem 0 .25rem}
.form-row{display:grid;grid-template-columns:repeat(12,1fr);gap:.75rem}
.col-6{grid-column:span 6}
.col-12{grid-column:span 12}
.alert{padding:.75rem 1rem;border-radius:.375rem;margin:1rem 0}
.alert.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.badge{display:inline-block;padding:.15rem .35rem;border-radius:.35rem;background:#eef2ff;color:#3730a3;font-size:.8rem}
.tag{background:#f3f4f6;color:#374151;border-radius:.25rem;padding:.1rem .35rem;font-size:.75rem}
img.responsive{max-width:100%;height:auto}
@media (max-width:640px){.col-6{grid-column:span 12}}
