:root{ --primary:#1976d2; --bg:#f5f5f5; --muted:#616161; }
*{ box-sizing:border-box; }
body{ font-family: system-ui, Arial, sans-serif; margin:0; background:var(--bg); color:#222; }
.nav{ position:sticky; top:0; z-index:10; display:flex; align-items:center; gap:.5rem; padding:.5rem 1rem; background:#263238; color:#fff; }
.nav .brand{ font-weight:700; color:#fff; text-decoration:none; }
.nav .burger{ display:none; margin-left:auto; background:transparent; border:0; color:#fff; font-size:1.3rem; }
.nav .links{ display:flex; flex-wrap:wrap; gap:.5rem; margin-left:auto; }
.nav a{ color:#fff; text-decoration:none; padding:.3rem .6rem; border-radius:.25rem; }
.nav a:hover{ background:rgba(255,255,255,.1); }
.container{ max-width:1000px; margin:0 auto; padding:1rem; }
.grid{ display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
.card{ background:#fff; border:1px solid #e0e0e0; border-radius:.5rem; padding:1rem; margin-bottom:1rem; }
.toolbar{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:.5rem; margin-bottom:1rem; }
.item-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.5rem 0; border-bottom:1px solid #eee; }
.item-row:last-child{ border-bottom:0; }
.badge{ display:inline-block; color:#fff; border-radius:.35rem; padding:.15rem .45rem; font-size:.85rem; }
.btn{ display:inline-block; background:var(--primary); color:#fff; padding:.45rem .7rem; border-radius:.3rem; text-decoration:none; border:0; cursor:pointer; }
.btn-primary{ background:var(--primary); }
.btn-secondary{ background:#455a64; }
.form-control{ width:100%; padding:.45rem .5rem; border:1px solid #bdbdbd; border-radius:.3rem; }
.row{ display:flex; flex-wrap:wrap; gap:1rem; }
.col{ flex:1 1 12rem; }
.table-responsive{ overflow-x:auto; }
.table{ width:100%; border-collapse: collapse; background:#fff; }
.table th, .table td{ border: 1px solid #e0e0e0; padding:.45rem .6rem; }
.table-sm th, .table-sm td{ padding:.35rem .45rem; }
.center{ text-align:center; }
.big-check{ width:1.2rem; height:1.2rem; }
.calendar .other-month{ background:#fafafa; color:#888; }
.calendar .cal-day{ min-height: 6rem; }
.calendar .cal-date{ font-weight:600; margin-bottom:.25rem; }
.calendar .cal-entry{ background:#fff; border:1px solid #e0e0e0; border-left-width:4px; padding:.25rem .4rem; margin-bottom:.25rem; border-radius:.25rem; font-size:.9rem; }
.calendar .competition{ background:#fffde7; }
.flashes{ margin:.5rem 0; }
.flash{ padding:.5rem .6rem; border-radius:.3rem; margin-bottom:.35rem; }
.flash.success{ background:#e8f5e9; }
.flash.warning{ background:#fff8e1; }
.flash.danger{ background:#ffebee; }

@media (max-width: 900px){ .grid{ grid-template-columns: 1fr; } }
@media (max-width: 560px){ .nav .burger{ display:block; } .nav .links{ display:none; width:100%; } body.menu-open .nav .links{ display:flex; flex-direction:column; gap:.25rem; padding-top:.5rem; } .calendar .cal-day{ min-height:4.5rem; } }
