:root{--olive:#A9B347;--olive-deep:#7D8628;--ink:#202020;--white:#FFFFFF;--warm:#F3F2EE;--blocked:#E5E2DA;--border:#C9C7BD;--border-strong:#9D9B91;--danger:#7A2F2B;--muted:#6F706B;--radius:6px;--transition:150ms ease;--cream:var(--warm);--paper:var(--white);--olive-dark:var(--olive-deep);--olive-soft:#EEF0D7;--line:var(--border);--dark:var(--ink);--orange:var(--olive);--green:var(--olive);--shadow:none}*{box-sizing:border-box}body,html{background:var(--olive)}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,textarea{transition:background-color var(--transition),border-color var(--transition),color var(--transition)}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.shell{width:min(100%,1480px);margin:0 auto;padding:22px}.adminshell{width:min(100%,1560px)}.landing{width:min(100%,1180px)}.topbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px;padding:18px 20px;background:var(--white);border:2px solid rgba(32,32,32,.72);border-radius:var(--radius)}.adminbar,.topbar{align-items:center}.clubbrand{display:inline-grid;gap:5px;min-width:270px;color:var(--ink)}.clubbrand-main{font-size:42px;line-height:.9;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}.clubbrand-sub{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:8px;gap:8px;font-size:10px;line-height:1;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.clubbrand-sub span{height:1px;background:var(--ink)}.clubbrand-sub b{font-weight:800}.clubbrand.compact{min-width:190px;gap:4px}.clubbrand.compact .clubbrand-main{font-size:28px}.clubbrand.compact .clubbrand-sub{font-size:7px;gap:5px}.pagekicker{margin-top:9px;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--olive-deep)}h1,h2,h3{margin-top:0;color:var(--ink)}.currentweek h1,.sectionhead h2,h1,h2{font-weight:900;line-height:.95;letter-spacing:-.035em;text-transform:uppercase}h1{font-size:clamp(34px,4.2vw,58px);margin:.18em 0 .32em}.sectionhead h2,h2{font-size:clamp(25px,2.5vw,34px);margin:0}h3{font-size:18px;font-weight:850}.eyebrow{margin-bottom:7px;color:var(--olive-deep);font-size:10px;letter-spacing:.17em}.brand,.eyebrow{font-weight:900;text-transform:uppercase}.brand,.brand span{color:var(--ink)}.muted{color:var(--muted)}.mini{font-size:12px}.card{margin-bottom:14px;padding:22px;border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:none}.card,.card.hero{background:var(--white)}.card.hero{border:2px solid rgba(32,32,32,.72)}.clubhero{min-height:300px;padding:42px;display:flex;flex-direction:column;justify-content:center}.clubhero p{max-width:700px;margin-top:0;font-size:18px;color:var(--muted)}.sectionhead{align-items:flex-end;gap:16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.currentweek,.sectionhead{display:flex;justify-content:space-between}.currentweek{align-items:center;gap:24px;border:2px solid var(--ink);border-left:12px solid var(--olive)}.currentweek h1{font-size:clamp(28px,3vw,42px);margin:0 0 7px}.currentweek p{margin:0}.notice{padding:12px 14px;border:1px solid var(--border-strong);border-left:5px solid var(--olive);border-radius:4px}.inlinepanel,.notice{background:var(--warm)}.inlinepanel{padding:14px;border:1px solid var(--border);border-radius:4px;min-width:260px}.inlinepanel,.inlinepanel form+form{margin-top:10px}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px}.compactgrid,.grid{display:grid;gap:12px}.compactgrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;align-items:end}.actionrow,.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack{display:grid;grid-gap:14px;gap:14px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;margin-bottom:14px;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden}.statcard,.statgrid{background:var(--white)}.statcard{min-height:112px;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;gap:5px;color:var(--ink);border:0;border-right:1px solid var(--border-strong);border-radius:0}.statcard:last-child{border-right:0}.statcard span{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-deep)}.statcard strong{font-size:30px;line-height:1;font-weight:900;letter-spacing:-.04em}.statcard.accent{background:var(--olive);color:var(--ink)}.statcard.accent span,label{color:var(--ink)}label{display:grid;grid-gap:6px;gap:6px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}input,select,textarea{width:100%;min-height:48px;padding:11px 12px;background:var(--white);color:var(--ink);border:1px solid var(--border-strong);border-radius:4px;outline:none;letter-spacing:0;text-transform:none;font-weight:550}textarea{min-height:130px;line-height:1.5;resize:vertical}input:focus,select:focus,textarea:focus{border:2px solid var(--ink);box-shadow:none}input:disabled,select:disabled,textarea:disabled{background:var(--blocked);color:#777}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--white);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.btn:hover{background:#000;border-color:#000}.btn.green,.btn.olive,.btn.orange{background:var(--ink);border-color:var(--ink);color:var(--white)}.btn.ghost{background:var(--white);color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--warm)}.btn.small{min-height:38px;padding:8px 10px;font-size:10px}.btn:disabled{background:var(--blocked);border-color:var(--border);color:#858585;opacity:1;cursor:not-allowed}.btn.danger{background:var(--white);border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger);color:var(--white)}.textbutton{border:0;background:none;padding:0;color:var(--ink);font-weight:850;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.tablewrap{overflow:auto;border:1px solid var(--border-strong)}.tablewrap,table{background:var(--white)}table{width:100%;border-collapse:collapse}td,th{padding:11px 10px;text-align:left;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}td:last-child,th:last-child{border-right:0}tbody tr:last-child td{border-bottom:0}th{background:var(--warm);color:var(--ink);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}td strong{font-weight:850}tbody tr:hover td{background:#FAFAF7}.addrow{margin-bottom:12px;padding:14px;background:var(--warm);border:1px solid var(--border);border-radius:4px}.pill,.status{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:3px;background:var(--white);color:var(--ink);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.status.live{background:var(--olive);border-color:var(--olive-deep)}.status.off,.status.wait{background:var(--warm);color:#6d6d68}.dimmed{opacity:.58}.scoregrid{display:grid;grid-template-columns:repeat(9,minmax(54px,1fr));grid-gap:0;gap:0;border:1px solid var(--ink)}.hole{padding:9px 6px;text-align:center;background:var(--white);border-right:1px solid var(--border)}.hole:last-child{border-right:0}.hole strong{display:block;margin-bottom:5px;font-size:11px}.hole input{min-height:46px;padding:6px 2px;text-align:center;font-size:20px;font-weight:900;border-color:var(--border)}.hole input:focus{background:#FBFCEC}.adminholes{margin:6px 0}.adminholes label{font-size:9px}.scoreReview{overflow:auto;border:1px solid var(--border-strong)}.scoreReview table{min-width:700px;text-align:center}.scoreReview td,.scoreReview th{text-align:center}.scoreReview th:first-child{text-align:left}.miniScoreGrid{display:grid;grid-template-columns:repeat(9,1fr);grid-gap:0;gap:0;border:1px solid var(--border)}.miniScoreGrid label{padding:5px;text-align:center;border-right:1px solid var(--border)}.miniScoreGrid label:last-child{border-right:0}.miniScoreGrid input{min-height:38px;padding:5px 2px;text-align:center}.login{max-width:430px;margin:70px auto;padding:30px;border:2px solid var(--ink)}.login .clubbrand{margin-bottom:10px}.leaguegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:10px;gap:10px}.leaguecard{display:grid;grid-gap:8px;gap:8px;padding:18px;background:var(--white);border:1px solid var(--border-strong);border-radius:4px;text-decoration:none}.leaguecard:hover{border:2px solid var(--ink);padding:17px;background:var(--warm)}.leaguecard strong{font-size:21px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em}.leaguecard span:not(.textbutton){color:var(--muted);font-size:13px}.weeklist{display:grid;grid-gap:0;gap:0;border:1px solid var(--border-strong)}.weekrow{display:grid;grid-template-columns:60px minmax(180px,1fr) auto;grid-gap:14px;gap:14px;align-items:start;padding:14px;background:var(--white);border:0;border-bottom:1px solid var(--border);border-radius:0}.weekrow:last-child{border-bottom:0}.weekrow:hover{background:#FAFAF7}.weeknum{width:44px;height:44px;display:grid;place-items:center;background:var(--olive);color:var(--ink);border:1px solid var(--olive-deep);border-radius:2px;font-size:19px;font-weight:900}.weekmain{display:grid;grid-gap:2px;gap:2px}.weekmain strong{font-size:18px;font-weight:900}.weekmain span{font-size:12px;color:var(--muted)}.weekactions{display:grid;justify-items:end;grid-gap:8px;gap:8px}.submissionlist{grid-column:2/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:0;gap:0;padding-top:10px;border-top:1px solid var(--border)}.submission{display:grid;grid-template-columns:1fr auto;grid-gap:5px 9px;gap:5px 9px;align-items:center;padding:8px 10px;background:var(--warm);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;font-size:12px}.submission>div{grid-column:1/-1}.newweek{padding-top:2px}.compactweek{align-items:center}.compactweek .weekactions{align-self:center}.bulkdrop,.courseReview,.csvimport,.importbar,.importsuccess,.librarycard,.savedcourse{background:var(--white);border:1px solid var(--border-strong);border-radius:4px;box-shadow:none}.importbar{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;margin-bottom:16px}.importbar small,.importbar strong{display:block}.csvimport{padding:14px;margin-bottom:12px}.csvimport .sectionhead{margin-bottom:10px;align-items:center}.csvpreview{margin-top:12px;max-height:360px;border:1px solid var(--border);background:var(--white);overflow:auto}.csvpreview table{margin:0}.csvmore{padding:10px}.rosterdivider{display:flex;align-items:center;gap:10px;margin:12px 0;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.rosterdivider:after,.rosterdivider:before{content:"";height:1px;background:var(--border);flex:1 1}.courseSetup{margin-bottom:16px}.savedcourse{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(140px,auto));grid-gap:10px;gap:10px;align-items:end;padding:14px}.savedcourse small,.savedcourse strong{display:block}.importsuccess{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,220px) minmax(140px,180px);grid-gap:12px;gap:12px;align-items:end;margin-top:-6px;margin-bottom:16px;padding:14px;border-left:5px solid var(--olive)}.importsuccess>div{display:grid;grid-gap:3px;gap:3px}.importsuccess strong{color:var(--ink);font-size:15px}.importsuccess span{font-weight:850}.importsuccess small{color:var(--muted)}.importerror{margin-top:-6px;margin-bottom:16px}.imageimport{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,320px) auto;grid-gap:10px;gap:10px;align-items:end}.imageimport input[type=file]{max-width:320px}.imageimport label{min-width:150px}.bulkcourse{display:grid;grid-gap:14px;gap:14px}.bulkdrop{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,420px);grid-gap:16px;gap:16px;align-items:center;padding:18px;border-style:dashed;border-width:2px}.bulkdrop small,.bulkdrop strong{display:block}.bulkdrop small{margin-top:4px;color:var(--muted)}.courseReviewList{display:grid;grid-gap:12px;gap:12px}.courseReview{padding:16px}.courseReview.saved{border-left:6px solid var(--olive)}.courseReview.error{border-color:var(--danger)}.courseReviewHead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.courseReviewHead>div{display:grid;grid-template-columns:auto 1fr;grid-gap:2px 9px;gap:2px 9px;align-items:center}.courseReviewHead strong{font-size:19px}.courseReviewHead small{grid-column:2;color:var(--muted)}.duplicateNotice{margin:12px 0;padding:10px 12px;background:var(--warm);border:1px solid var(--border-strong);font-size:13px}.teeReview input{min-width:90px;padding:7px}.holes18{display:grid;grid-template-columns:repeat(9,minmax(62px,1fr));grid-gap:0;gap:0;margin:14px 0;border:1px solid var(--border-strong)}.hole18{padding:7px 5px;background:var(--white);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}.hole18:nth-child(9n){border-right:0}.hole18 strong{display:block}.hole18 label{font-size:8px}.hole18 input{min-height:38px;padding:5px 2px;text-align:center}.librarygrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:10px;gap:10px}.librarycard{display:grid;grid-gap:12px;gap:12px;padding:16px}.librarycard>div:first-child{display:grid;grid-gap:3px;gap:3px}.librarycard strong{font-size:20px;font-weight:900}.librarycard span:not(.pill){font-size:13px;color:var(--muted)}.teeChips{display:flex;gap:5px;flex-wrap:wrap}.weekcoursepicker{margin-bottom:16px}.librarycard.editing{grid-column:1/-1;border:2px solid var(--ink)}.courseEditTitle{display:grid;grid-gap:2px;gap:2px}.savedCourseManager{display:grid;grid-gap:12px;gap:12px}.savedCourseManager>.notice{margin-bottom:2px}.librarycard .actionrow{margin-top:auto}.resultgrid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));grid-gap:0;gap:0;border:1px solid var(--ink)}.resultgrid>div{display:grid;grid-gap:3px;gap:3px;padding:14px;background:var(--white);color:var(--ink);border-right:1px solid var(--border);border-radius:0}.resultgrid>div:last-child{border-right:0}.resultgrid span{font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--olive-deep)}.resultgrid strong{font-size:29px;font-weight:900}.featuredWeek{border:2px solid var(--ink);border-left:12px solid var(--olive);padding:24px}.leaderboardWeekHead{align-items:center}.leaderboardWeekHead h2{margin-bottom:5px}.weekdates{margin:4px 0;color:var(--ink);font-weight:850}.weekdates.large{font-size:18px}.publicWeekList{display:grid;grid-gap:0;gap:0;border:1px solid var(--border-strong)}.publicWeekLink{display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;padding:12px 14px;background:var(--white);border:0;border-bottom:1px solid var(--border);border-radius:0;text-decoration:none}.publicWeekLink:last-child{border-bottom:0}.publicWeekLink:hover{background:var(--warm)}.publicWeekLink .weekmain{min-width:0}.publicWeekMeta{display:grid;justify-items:end;grid-gap:7px;gap:7px}.weekArrow{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.weekDetailHero .eyebrow,.weekDetailHero h1{margin-bottom:10px}.leagueMessageCard .sectionhead{align-items:flex-start}.leagueMessage{min-width:min(100%,520px);text-align:right}.leagueMessage .messageComposer{text-align:left;margin-top:12px}.messageMeta{display:grid;grid-gap:3px;gap:3px}.messageMeta span{font-size:12px;color:var(--muted)}.messageComposer textarea{min-height:150px}@media(max-width:980px){.statgrid{grid-template-columns:repeat(2,1fr)}.statcard:nth-child(2){border-right:0}.statcard:nth-child(-n+2){border-bottom:1px solid var(--border-strong)}.savedcourse{grid-template-columns:1fr 1fr}.savedcourse>div{grid-column:1/-1}.importsuccess{grid-template-columns:1fr 1fr}.importsuccess>div{grid-column:1/-1}.bulkdrop{grid-template-columns:1fr}.holes18{grid-template-columns:repeat(6,1fr)}.hole18:nth-child(9n){border-right:1px solid var(--border)}}@media(max-width:760px){.shell{padding:12px}.adminbar,.topbar{align-items:flex-start;flex-direction:column}.topbar>.row{width:100%}.topbar>.row .btn{flex:1 1}.clubbrand{min-width:230px}.clubbrand-main{font-size:36px}.card{padding:16px}.clubhero{min-height:240px;padding:24px}.currentweek{align-items:flex-start;flex-direction:column}.scoregrid{grid-template-columns:repeat(3,1fr)}.hole{border-bottom:1px solid var(--border)}.weekrow{grid-template-columns:48px 1fr}.submissionlist,.weekactions{grid-column:1/-1;justify-items:stretch}.weekactions{display:flex;flex-wrap:wrap}.miniScoreGrid{grid-template-columns:repeat(3,1fr)}.importbar{grid-template-columns:1fr auto}.importbar>.mini,.importbar>div{grid-column:1/-1}.imageimport{grid-template-columns:1fr}.imageimport .btn{width:100%}.resultgrid{grid-template-columns:1fr 1fr}.resultgrid>div:nth-child(2){border-right:0}.resultgrid>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.publicWeekLink{grid-template-columns:46px 1fr}.publicWeekMeta{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.leaderboardWeekHead{align-items:flex-start}.leaderboardWeekHead>.pill{align-self:flex-start}.leagueMessageCard .sectionhead{align-items:stretch;flex-direction:column}.leagueMessage{min-width:0;text-align:left}.leagueMessage>.btn{width:100%}table{min-width:680px}}@media(max-width:560px){.statgrid{grid-template-columns:1fr}.statcard{border-right:0;border-bottom:1px solid var(--border-strong)!important}.statcard:last-child{border-bottom:0!important}.compactgrid{grid-template-columns:1fr}.actionrow,.row{align-items:stretch}.actionrow .btn{flex:1 1}.holes18{grid-template-columns:repeat(3,1fr)}.resultgrid{grid-template-columns:1fr}.resultgrid>div{border-right:0;border-bottom:1px solid var(--border)}.resultgrid>div:last-child{border-bottom:0}}