:root{--navy: #042464;--navy-700: #0a2f73;--blue: #0a5aa0;--blue-700: #08497f;--sky: #6ec1e4;--gold: #f0c63b;--gold-600: #d4a017;--green: #1f9d57;--ink: #15171c;--bg: #eef1f5;--card: #ffffff;--border: #d7dde6;--muted: #5b6471;--error: #c0392b;--error-bg: #fdecea;--success: #1f9d57;--success-bg: #e7f5ec}*{box-sizing:border-box}body{margin:0;font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}h1,h2,h3,.brand{font-family:Roboto Slab,Georgia,Times New Roman,serif}.muted{color:var(--muted)}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0424640f;margin-bottom:1.25rem}.auth-card{width:100%;max-width:390px;border-top:4px solid var(--gold)}.brand{margin:0;font-size:1.9rem;font-weight:700;letter-spacing:.01em;color:var(--navy);display:inline-flex;align-items:center;gap:.5rem}.brand--sm{font-size:1.25rem}.logo{flex:none;vertical-align:middle}.tagline{margin-top:.25rem;margin-bottom:1.25rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{flex:1;padding:.55rem;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--ink)}.tab--active{background:var(--navy);color:#fff;border-color:var(--navy)}.form{display:flex;flex-direction:column;gap:.75rem}.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}.form input[type=text],.form input[type=email],.form input[type=password]{padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit}.form input:focus{outline:2px solid var(--sky);outline-offset:0;border-color:var(--blue)}.btn{display:inline-block;text-align:center;padding:.6rem .9rem;border-radius:8px;border:1px solid transparent;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none}.btn--primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn--primary:hover:not(:disabled){background:var(--blue-700)}.btn--primary:disabled{background:#9db8d4;border-color:#9db8d4;color:#eef2f7;cursor:not-allowed}.btn--ghost{background:transparent;border-color:var(--border);color:var(--navy)}.btn--ghost:hover{background:#0424640f}.btn--google{background:#fff;border-color:var(--border);color:var(--ink);width:100%}.divider{display:flex;align-items:center;text-align:center;color:var(--muted);margin:1rem 0;font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.divider span{padding:0 .6rem}.banner{padding:.6rem .75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.banner--error{background:var(--error-bg);color:var(--error)}.banner--success{background:var(--success-bg);color:var(--success)}.username-feedback{font-size:.82rem;margin-top:-.35rem}.username-feedback--available{color:var(--success)}.username-feedback--taken,.username-feedback--invalid{color:var(--error)}.suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.4rem}.chip{border:1px solid var(--navy);color:var(--navy);background:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;cursor:pointer}.chip:hover{background:var(--navy);color:#fff}.page{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background-color:var(--navy);border-bottom:3px solid var(--gold)}.tab,.topbar-actions .btn{font-family:Barlow Semi Condensed,Roboto,sans-serif;letter-spacing:.02em}.topbar-actions .btn{text-transform:uppercase;font-weight:600}.topbar .brand{color:#fff}.topbar .muted{color:#b9c4dc}.topbar-actions{display:flex;align-items:center;gap:.75rem}.topbar .btn--ghost{border-color:#fff6;color:#fff}.topbar .btn--ghost:hover{background:#ffffff1f}.container{max-width:880px;margin:0 auto;padding:1.5rem 1.25rem}.container--narrow{max-width:540px}.member-grid{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}.member-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.member-card--you{border-color:var(--gold);box-shadow:0 0 0 2px #f0c63b59}.member-name{font-size:.9rem;word-break:break-word;text-align:center}.badge{position:absolute;top:.5rem;right:.5rem;background:var(--gold);color:#1c1606;font-size:.65rem;font-weight:600;padding:.1rem .45rem;border-radius:999px}.badge--admin{position:static;background:var(--navy);color:#fff}.btn--tiny{padding:.25rem .55rem;font-size:.72rem;font-weight:500;border:1px solid var(--border);background:#fff;color:var(--navy)}.btn--tiny:hover:not(:disabled){background:#0424640f}.btn--tiny:disabled{opacity:.6;cursor:not-allowed}.tiny{font-size:.7rem}.avatar{border-radius:50%;object-fit:cover;background:#e3e9f1}.avatar--placeholder{display:flex;align-items:center;justify-content:center;color:var(--navy);font-weight:700}.avatar-edit{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.topbar .brand{text-decoration:none}.navlink{color:#d7e0f2;text-decoration:none;font-family:Barlow Semi Condensed,Roboto,sans-serif;text-transform:uppercase;letter-spacing:.03em;font-weight:600;font-size:.95rem;padding:.2rem 0;border-bottom:2px solid transparent}.navlink--active{color:#fff;border-bottom-color:var(--gold)}.topbar-user{color:#b9c4dc!important}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.page-head h2{margin:0}.backlink{display:inline-block;margin-bottom:.5rem;color:var(--blue);text-decoration:none;font-size:.9rem}.pill{font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px}.pill--open{background:var(--success-bg);color:var(--success)}.pill--full{background:#fbe7d6;color:#9a5b13}.event-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.event-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}.event-card:hover{border-color:var(--blue)}.event-card-head{display:flex;align-items:center;gap:.6rem}.event-card-head h3{margin:0;font-size:1.05rem}.event-card p{margin:.25rem 0 0}.event-meta{font-size:.85rem;color:var(--muted)}.event-card-spots{text-align:center;flex:none}.event-card-spots strong{display:block;font-size:1.2rem;color:var(--navy)}.event-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem 1.5rem;margin:1rem 0}.event-facts>div{display:flex;flex-direction:column}.event-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.event-facts dd{margin:0;font-weight:500}.event-desc{white-space:pre-wrap;background:#fff;border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.signup-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.team-builder{display:flex;flex-direction:column;gap:.6rem}.team-builder h4{margin:0}.team-builder input,.form textarea,.form select{padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit}.member-results{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem;max-height:140px;overflow-y:auto}.team-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.6rem}.team{background:#fff;border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem}.team-head{display:flex;align-items:center;justify-content:space-between}.team-members{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.team-member{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.individual-list{margin:.5rem 0 0;padding-left:1.4rem}.individual-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.15rem 0}.admin-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.btn--danger{background:#fff;border-color:var(--error);color:var(--error)}.btn--danger:hover:not(:disabled){background:var(--error-bg)}
