:root{--navy: #002767;--blue: #0061ff;--blue-dark: #0056e1;--text: #2f2a2b;--text-muted: #6a5e61;--bg: #ffffff;--surface: #f5f3f3;--tint: #edf4ff;--border: #e3dfdf;--green: #0d7a3f;--red: #c22f2f;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--blue)}.site-header{background:var(--navy);color:#fff;padding:0 24px}.site-header .inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:16px;min-height:64px}.site-header a.brand{color:#fff;text-decoration:none;font-weight:700;font-size:1.15rem;letter-spacing:.01em;display:flex;align-items:center;gap:12px}.site-header .brand-mark{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.hero{background:var(--navy);color:#fff;padding:28px 24px 40px}.hero .inner{max-width:1080px;margin:0 auto}.hero h1{margin:0 0 6px;font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.hero p{margin:0;color:#c9d6ef}.page{max-width:1080px;margin:0 auto;padding:24px}.filters{display:flex;flex-wrap:wrap;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:-32px;position:relative}.filters label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.filters select,.filters input{font-family:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);min-width:160px}.filters input[type=date]{min-width:140px}.multiselect{position:relative}.multiselect .control{font-family:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);min-width:160px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px}.multiselect .caret{color:var(--text-muted);font-size:.8rem}.multiselect .dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:20;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0027671f;padding:8px;min-width:210px;max-height:280px;overflow-y:auto}.multiselect .check{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:.92rem;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--text);cursor:pointer}.multiselect .check:hover{background:var(--tint)}.multiselect .check input{min-width:0;accent-color:var(--blue)}.multiselect .clear{font-family:inherit;font-size:.85rem;font-weight:600;color:var(--blue);background:none;border:none;padding:8px;cursor:pointer}.result-bar{display:flex;align-items:baseline;justify-content:space-between;margin:20px 0 12px}.result-bar .count{font-weight:600}.result-bar .updating{color:var(--text-muted);font-size:.85rem;margin-left:12px}.event-list.updating{opacity:.55;transition:opacity .15s}.event-list{display:flex;flex-direction:column;gap:14px}.event-card{border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:block;color:inherit;text-decoration:none;transition:border-color .12s,box-shadow .12s;background:#fff}.event-card:hover{border-color:var(--blue);box-shadow:0 2px 10px #00276714}.event-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.event-card h3{margin:0 0 10px;font-size:1.15rem;color:var(--navy)}.event-card .badges{display:flex;gap:6px;flex-shrink:0}.event-card .fields{display:grid;grid-template-columns:1.1fr 1.5fr .8fr 1.2fr 1.2fr 128px;gap:6px 20px;align-items:center}.field{min-width:0}.field.action{justify-self:end}.field .value{overflow-wrap:anywhere}@media (max-width: 900px){.event-card .fields{grid-template-columns:1fr 1fr}.field.action{justify-self:start}}.field .label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.field .value{font-size:.95rem}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge.open{background:#e3f4ea;color:var(--green)}.badge.closed{background:var(--surface);color:var(--text-muted)}.badge.upcoming{background:var(--tint);color:var(--blue-dark)}.badge.cancelled{background:#fbe9e9;color:var(--red)}.badge.neutral{background:var(--tint);color:var(--navy)}.btn{display:inline-block;background:var(--blue);color:#fff;font-family:inherit;font-weight:600;font-size:.95rem;padding:9px 18px;border:none;border-radius:999px;text-decoration:none;cursor:pointer}.btn:hover{background:var(--blue-dark)}.btn.secondary{background:#fff;color:var(--blue);border:1.5px solid var(--blue)}.detail-hero{background:var(--navy);color:#fff;padding:28px 24px 32px}.detail-hero .inner{max-width:1080px;margin:0 auto}.detail-hero.has-image{position:relative;background-size:cover;background-position:center;padding-top:96px}.detail-hero.has-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#0018408c,#002767e0)}.detail-hero.has-image .inner{position:relative;z-index:1}.detail-hero .back{color:#c9d6ef;text-decoration:none;font-size:.9rem}.detail-hero h1{margin:10px 0 6px;font-size:1.7rem}.detail-hero .subtitle{color:#c9d6ef;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}@media (max-width: 800px){.detail-grid{grid-template-columns:1fr}}.panel{border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;background:#fff}.panel h2{margin:0 0 12px;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}.info-rows .field{margin-bottom:10px}.note{background:var(--tint);border-radius:6px;padding:12px 14px;font-size:.95rem}.competition{margin-bottom:18px}.competition h3{margin:0 0 8px;font-size:1rem;color:var(--navy)}.table-wrap{overflow-x:auto}table.classes{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}table.classes td{overflow-wrap:break-word}.competition table.classes th:nth-child(1){width:26%}.competition table.classes th:nth-child(2){width:12%}.competition table.classes th:nth-child(3){width:14%}.competition table.classes th:nth-child(4){width:13%}.competition table.classes th:nth-child(5){width:13%}.competition table.classes th:nth-child(6){width:22%}.entries-group table.classes th:nth-child(1){width:42%}table.classes th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border);padding:6px 10px 6px 0}table.classes td{border-bottom:1px solid var(--border);padding:7px 10px 7px 0}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tab{font-family:inherit;font-size:.95rem;font-weight:600;padding:8px 18px;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--text);cursor:pointer}.tab:hover{border-color:var(--blue);color:var(--blue)}.tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.login-menu{position:relative;display:inline-block}.login-menu .dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:40;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #00276726;padding:6px;min-width:210px}.login-menu .option{display:block;width:100%;text-align:left;font-family:inherit;font-size:.95rem;padding:9px 12px;border:none;border-radius:6px;background:none;color:var(--text);cursor:pointer}.login-menu .option:hover{background:var(--tint);color:var(--blue-dark)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00184073;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:var(--radius);padding:24px;max-width:420px;width:100%;box-shadow:0 10px 40px #0018404d;color:var(--text);text-align:left}.modal h2{margin:0 0 10px;font-size:1.15rem;color:var(--navy)}.modal label{display:block;margin:14px 0 4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.modal input{width:100%;font-family:inherit;font-size:1rem;padding:9px 10px;border:1px solid var(--border);border-radius:6px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.error-text{color:var(--red);font-size:.9rem}.loading,.error,.empty{padding:40px 0;text-align:center;color:var(--text-muted)}.error{color:var(--red)}.site-footer{margin-top:48px;background:var(--surface);border-top:1px solid var(--border);padding:20px 24px;font-size:.85rem;color:var(--text-muted)}.site-footer .inner{max-width:1080px;margin:0 auto}.site-header .nav{margin-left:auto;display:flex;align-items:center;gap:16px}.site-header .nav a{color:#fff;font-weight:600;text-decoration:none}.site-header .nav a:hover{text-decoration:underline}.site-header .nav .user{color:#c9d6ef;font-size:.9rem}.btn.small{padding:6px 14px;font-size:.85rem}.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}.btn.ghost:hover{background:#ffffff1f}.btn:disabled{opacity:.5;cursor:default}.auth-gate{max-width:520px;margin:40px auto;text-align:center}.muted{color:var(--text-muted)}.small{font-size:.85rem}.panel h3{margin:20px 0 10px;font-size:1rem;color:var(--navy)}.panel code{font-size:.75rem;background:var(--surface);padding:1px 6px;border-radius:4px;text-transform:none;letter-spacing:0}table.admin{width:100%;border-collapse:collapse;font-size:.9rem}table.admin th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border);padding:6px 10px 6px 0;vertical-align:bottom}table.admin td{border-bottom:1px solid var(--border);padding:8px 10px 8px 0;vertical-align:top}.form-row{margin:12px 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:14px}.form-grid label,.form-row label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.form-grid input,.form-grid select,.form-row input,.form-row select,.panel textarea{font-family:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text)}.panel textarea{width:100%;min-height:120px;resize:vertical}.form-row input[type=search]{width:100%;max-width:360px}.grant-form{margin-top:16px;padding-top:4px;border-top:1px solid var(--border)}.permission-list{margin:0 0 10px;padding-left:20px}.checkbox-row{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:.95rem}.saved{color:var(--green);font-size:.85rem;margin-left:10px}
