:root{--blue:#0755a5;--navy:#06366a;--pale:#eef5fb;--ink:#172334;--muted:#607083;--line:#d6dee7;--red:#a52222;--green:#176a3a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f5f7fa}*{box-sizing:border-box}body{margin:0}a{color:var(--blue)}.site-header{min-height:76px;padding:0 max(20px,calc((100% - 1180px)/2));background:linear-gradient(105deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:space-between;color:white}.brand{display:flex;gap:12px;align-items:baseline;color:white;text-decoration:none}.brand span{font-size:1.7rem;font-weight:800;letter-spacing:.03em}.brand small{opacity:.9}.site-header nav{display:flex;align-items:center;gap:18px}.site-header nav a,.link-button{color:white;text-decoration:none;font-weight:600}.link-button{border:0;background:none;font:inherit;cursor:pointer;padding:0}.nav-toggle{display:none}.container{max-width:1180px;margin:0 auto;padding:36px 20px 80px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font-size:2rem;margin:.15em 0 .4em}h2{margin-top:0}.eyebrow{text-transform:uppercase;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.12em;margin:0}.panel,.auth-card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:20px 0;box-shadow:0 3px 16px #10283f0b}.auth-card{max-width:470px;margin:60px auto}.auth-card label,.settings label{display:block;margin:18px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.stats a,.stats>div{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;text-decoration:none;color:var(--ink)}.stats strong{font-size:2rem;color:var(--blue);display:block}.stats span{color:var(--muted)}.stats.compact{grid-template-columns:repeat(4,1fr)}.stats.compact>div{padding:15px}.button{display:inline-block;border:1px solid #9facb8;background:white;color:var(--ink);padding:10px 16px;border-radius:6px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.button.primary{background:var(--blue);border-color:var(--blue);color:white}.button:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:10px;flex-wrap:wrap}.search{display:flex;gap:10px;margin:18px 0}.search input{max-width:450px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:10px;margin:18px 0}table{width:100%;border-collapse:collapse}th,td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--pale);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--muted);font-size:.92rem}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--pale);text-transform:capitalize;font-size:.82rem}.alert{padding:14px 18px;border-radius:7px;margin:14px 0}.alert.success{background:#e8f6ed;color:var(--green)}.alert.error{background:#faeaea;color:var(--red)}label{font-weight:700}input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #aeb9c5;border-radius:5px;font:inherit;background:white}.form-grid,.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .full{grid-column:1/-1}.mapping-grid{grid-template-columns:repeat(3,1fr)}small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.instructions summary{font-weight:800;cursor:pointer}.instructions li{margin:8px}.warning{color:var(--red);font-size:.88rem}.warning-row{background:#fffafa}.success-text{color:var(--green)}.check{font-size:1.5rem;width:90px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.site-header{align-items:flex-start;padding-top:20px;padding-bottom:20px;position:relative}.brand{display:block}.brand small{display:block}.nav-toggle{display:block;background:white;border:0;border-radius:5px;padding:8px}.site-header nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--navy);padding:20px;z-index:2;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.page-heading{align-items:flex-start;flex-direction:column}.stats,.stats.compact,.form-grid,.mapping-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.container{padding-top:24px}}@media print{.site-header,.print-actions,.alert{display:none!important}.container{max-width:none;padding:0}.roster table{font-size:14pt}.roster td{height:42px}body{background:white}}
