:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#171a18;background:#f7f8f6;font-synthesis:none;--green-900: #043d25;--green-800: #064d2e;--green-700: #12643d;--green-100: #eaf3ee;--sand-100: #f6f2e9;--sand-300: #d6c8a7;--ink: #171a18;--muted: #667069;--line: #dfe3df;--surface: #ffffff;--canvas: #f7f8f6;--danger: #a82b2b;--result-eagle: #946200;--result-birdie: #b83a32;--result-par: #4f5b54;--result-bogey: #236797;--result-double: #35485f;--radius: 10px}*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible{outline:3px solid rgba(18,100,61,.24);outline-offset:2px}svg{width:22px;height:22px;flex:0 0 auto}h1,h2,p,dl,dd{margin:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr);background:var(--canvas)}.app-content{min-width:0}.admin-session-bar{position:relative;z-index:12;min-height:42px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 16px;padding:7px 34px;border-bottom:1px solid var(--line);background:#fffaf0;color:#785b17}.admin-session-bar.connected{color:var(--green-800);background:#eef6f1}.admin-session-bar .session-state{display:flex;align-items:baseline;gap:8px;margin-right:auto}.admin-session-bar .session-state strong{font-size:11px}.admin-session-bar .session-state small{color:var(--muted);font-size:10px}.admin-session-bar button{padding:4px 0;border:0;background:transparent;color:currentColor;font-size:11px;font-weight:700;cursor:pointer}.competition-switcher{position:relative;display:flex;align-items:end;gap:7px;color:var(--ink)}.competition-switcher>label{display:grid;gap:2px}.competition-switcher>label span{color:var(--muted);font-size:8px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.competition-switcher select{min-width:190px;min-height:30px;padding:0 28px 0 9px;border:1px solid #c8d2ca;border-radius:6px;background:var(--surface);color:var(--green-900);font-size:11px;font-weight:700}.admin-session-bar .competition-create-button{min-height:30px;padding:0 10px;border:1px solid currentColor;border-radius:6px}.competition-create-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:min(390px,calc(100vw - 32px));display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 18px 50px #0f2d1c2e}.competition-create-panel header{display:flex;align-items:start;justify-content:space-between;gap:16px}.competition-create-panel header div{display:grid;gap:3px}.competition-create-panel header strong{color:var(--green-900);font-size:16px}.competition-create-panel header span,.competition-create-panel label>span{color:var(--muted);font-size:10px}.competition-create-panel label{display:grid;gap:5px}.competition-create-panel input{min-height:42px;padding:0 11px;border:1px solid #cfd6d0;border-radius:6px;font:inherit}.admin-session-bar .competition-create-panel .primary-action{min-height:42px;padding:0 16px;border-radius:6px;color:#fff}.competition-create-panel p,.admin-data-error{color:#9a3f28;font-size:10px}.competition-create-panel .form-note{color:var(--muted);line-height:1.45}.admin-data-state{display:grid;align-content:center;min-height:calc(100vh - 100px);text-align:center}.admin-data-state p{max-width:520px;margin:10px auto 0;color:var(--muted);line-height:1.6}.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#eef6f1,transparent 42%),var(--canvas)}.admin-login-card{width:min(440px,100%);padding:38px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 20px 55px #0f2d1c17}.admin-login-card .brand,.admin-auth-loading .brand{padding:0 0 34px}.admin-login-card h1{margin-top:7px;font-size:31px;line-height:1.08;letter-spacing:-.8px}.admin-login-intro{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.5}.admin-login-card form{display:grid;gap:17px;margin-top:28px}.admin-login-card label{display:grid;gap:7px}.admin-login-card label span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.admin-login-card input{width:100%;min-height:50px;padding:0 13px;border:1px solid #cfd6d0;border-radius:7px;background:var(--surface);color:var(--ink)}.admin-login-card input:focus{border-color:var(--green-700);outline:3px solid rgba(18,100,61,.14)}.admin-login-card .primary-button{margin-top:4px}.auth-error{padding:11px 12px;border-radius:7px;background:#fff0f0;color:var(--danger);font-size:12px}.admin-auth-loading{display:grid;justify-items:center;color:var(--muted);font-size:13px}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 16px 22px;background:var(--surface);border-right:1px solid var(--line);z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 34px;color:var(--green-900);font-family:Georgia,serif;font-size:30px;letter-spacing:-.9px}.brand-mark{position:relative;width:42px;height:49px;border:2px solid var(--green-800);border-radius:12px 12px 18px 18px;background:var(--green-800);overflow:hidden}.brand-mark:before{content:"";position:absolute;width:2px;height:31px;background:#fff;left:15px;top:8px}.brand-mark:after{content:"";position:absolute;width:15px;height:10px;background:#fff;left:17px;top:8px;clip-path:polygon(0 0,100% 20%,80% 100%,0 78%)}.brand-mark span{position:absolute;bottom:-6px;left:-8px;width:58px;height:20px;border-radius:50%;background:#d6c8a7;transform:rotate(-6deg)}.sidebar nav{display:grid;gap:7px}.nav-item{width:100%;min-height:54px;display:flex;align-items:center;gap:14px;padding:0 15px;border:0;border-radius:8px;background:transparent;font-size:16px;font-weight:520;text-align:left;cursor:pointer}.nav-item:hover{background:#f1f4f1}.nav-item.active{color:#fff;background:var(--green-900);box-shadow:0 6px 16px #043d2529}.club-signature{margin-top:auto;display:flex;align-items:center;gap:12px;padding:20px 8px 0;border-top:1px solid var(--line)}.club-crest{display:grid;place-items:center;width:42px;height:47px;color:var(--green-900);background:var(--sand-100);border:2px solid var(--sand-300);border-radius:8px 8px 15px 15px;font-family:Georgia,serif;font-weight:700;font-size:12px}.club-signature strong,.club-signature small{display:block}.club-signature strong{font-size:13px}.club-signature small{margin-top:3px;color:var(--muted);font-size:11px}.topbar{min-height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar>div:first-child{display:flex;align-items:center;gap:24px}.topbar h1{font-size:clamp(26px,2.4vw,36px);line-height:1.08;letter-spacing:-1.1px}.date{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:15px;white-space:nowrap}.date svg{width:19px}.profile{display:flex;align-items:center;gap:10px;font-size:14px}.profile>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #cbd1cc;border-radius:50%;color:var(--muted)}.profile strong{font-weight:550}.overview-grid{display:grid;grid-template-columns:minmax(580px,1fr) 320px;gap:24px;padding:0 24px 28px 0;max-width:1470px;margin:0 auto}.main-column{min-width:0;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.day-switcher{min-height:61px;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.8fr);align-items:stretch;border-bottom:1px solid var(--line)}.round-tabs{min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(110px,1fr);overflow-x:auto;scrollbar-width:thin}.round-tabs>button{position:relative;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:16px}.round-tabs>button.active{color:var(--green-800);font-weight:700}.round-tabs>button.active:after{content:"";position:absolute;left:24%;right:24%;bottom:0;height:3px;background:var(--green-700);border-radius:2px 2px 0 0}.live-state{display:flex;align-items:center;justify-content:center;gap:10px;border-left:1px solid var(--line);color:var(--green-800);font-weight:650;font-size:14px}.status-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#219653}.leaderboard{padding:24px 28px 0}.golf-result{display:inline-grid;justify-items:center;gap:4px;color:var(--result-color)}.golf-result-score{display:inline-flex;align-items:baseline;justify-content:center;gap:4px}.golf-result-symbol{position:relative;min-width:27px;min-height:27px;display:inline-grid!important;place-items:center;padding:2px;border:var(--result-border, 0);border-radius:var(--result-radius, 0);color:var(--result-color);line-height:1}.golf-result-symbol:after{content:"";position:absolute;inset:2px;border:var(--result-inner-border, 0);border-radius:inherit;pointer-events:none}.result-eagle{--result-color: var(--result-eagle);--result-border: 2px solid currentColor;--result-inner-border: 1px solid currentColor;--result-radius: 50%}.result-birdie{--result-color: var(--result-birdie);--result-border: 2px solid currentColor;--result-radius: 50%}.result-par{--result-color: var(--result-par)}.result-bogey{--result-color: var(--result-bogey);--result-border: 2px solid currentColor;--result-radius: 2px}.result-double-bogey{--result-color: var(--result-double);--result-border: 2px solid currentColor;--result-inner-border: 1px solid currentColor;--result-radius: 2px}.golf-result-label{color:var(--result-color);font-size:12px;font-weight:750}.golf-result-legend{display:flex;align-items:center;gap:14px;margin-top:13px;overflow-x:auto;color:var(--muted);font-size:9px;scrollbar-width:thin}.golf-result-legend>span{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.golf-result-legend .golf-result-symbol{width:15px;min-width:15px;height:15px;min-height:15px;padding:0}.to-par{display:inline-flex;align-items:baseline;gap:3px;color:var(--muted);white-space:nowrap}.to-par strong{color:currentColor;font-weight:800}.to-par small{color:currentColor;font-size:.72em;font-weight:700}.to-par.under{color:var(--result-birdie)}.to-par.over{color:var(--result-bogey)}.to-par.even{color:var(--result-par)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2,.leaderboard h2{font-size:23px;letter-spacing:-.45px}.text-button{display:none;align-items:center;gap:2px;color:var(--green-800);border:0;background:transparent;font-weight:650}.text-button svg{width:18px}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:70px minmax(230px,1.55fr) minmax(76px,.6fr) minmax(76px,.6fr) 70px;align-items:center}.leaderboard-head{height:50px;color:var(--muted);border-bottom:1px solid var(--line);font-size:13px}.leaderboard-list{padding:0;margin:0;list-style:none}.leaderboard-list li{border-bottom:1px solid var(--line);font-size:14px}.leaderboard-row{width:100%;min-height:55px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.leaderboard-list li.expanded .leaderboard-row{background:linear-gradient(90deg,#eef7f2,#f9fbfa);box-shadow:inset 3px 0 var(--green-700)}.place{padding-left:17px;font-size:16px;font-weight:700}.player-cell{display:flex;align-items:center;gap:12px;min-width:0}.player-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:560}.rank-mark{width:3px;height:26px;background:var(--green-700);border-radius:4px}.avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:50%;border:1px solid #d9d1bf;background:var(--sand-100);color:#665d47;font-size:11px;font-weight:700}.leaderboard-row>strong{color:var(--green-800)}.holes-cell{display:flex;align-items:center;justify-content:flex-end;gap:5px}.holes-cell svg{width:15px}.player-score-detail{padding:16px 14px 18px 70px;background:#fbfcfb}.score-detail-heading{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px;color:var(--muted);font-size:12px}.score-detail-heading strong{color:var(--green-900)}.score-detail-grid{display:grid;grid-template-columns:repeat(9,minmax(54px,1fr));gap:5px;overflow-x:auto}.score-detail-grid>div{min-height:78px;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.score-detail-grid span,.score-detail-grid small,.score-detail-grid strong,.score-detail-grid em{display:block}.score-detail-grid span,.score-detail-grid small{color:var(--muted);font-size:9px}.score-detail-grid strong{color:var(--green-900);font-size:18px}.score-detail-grid em{min-height:12px;color:var(--green-700);font-size:10px;font-style:normal}.table-footer{min-height:58px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:12px}.table-footer svg{width:17px}.leaderboard-score{display:grid;justify-items:start;gap:2px}.leaderboard-score>strong{color:var(--ink);font-size:13px;font-weight:600}.leaderboard-score.total-score>strong{color:var(--green-800);font-weight:800}.leaderboard-score>small{color:var(--muted)}.leaderboard-score .to-par{font-size:10px}.summary-rail{display:grid;align-content:start;gap:18px;padding-top:22px}.summary-rail>section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.competition-summary{padding:24px 20px 20px}.competition-summary h2,.team-standings h2{font-size:21px;letter-spacing:-.5px}.competition-summary dl{display:grid;gap:17px;margin:24px 0}.competition-summary dl div{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.competition-summary dl svg{width:19px;color:var(--ink)}.primary-button,.secondary-button{min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border-radius:7px;font-weight:700;cursor:pointer}.primary-button{color:#fff;border:1px solid var(--green-900);background:var(--green-900);box-shadow:0 7px 18px #043d251f}.primary-button:hover{background:var(--green-800)}.secondary-button{border:1px solid var(--green-800);color:var(--green-800);background:#fff}.primary-button svg{width:20px}.team-standings{overflow:hidden;padding-top:22px}.team-standings h2{padding:0 20px 15px}.team-head,.team-row{display:grid;grid-template-columns:44px 1fr 65px;align-items:center;padding:0 20px}.team-head{height:39px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.team-row{min-height:58px;border-bottom:1px solid var(--line);font-size:13px}.team-row:last-child{border-bottom:0}.team-row strong{position:relative;padding-left:12px;font-weight:560}.team-row strong:before{content:"";position:absolute;left:0;top:50%;width:3px;height:25px;transform:translateY(-50%);background:var(--green-700);border-radius:4px}.team-row>span:last-child{color:var(--green-800);text-align:right;font-weight:650}.sync-card{min-height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:0 20px;color:var(--green-800)}.sync-card strong,.sync-card small{display:block}.sync-card strong{font-size:13px}.sync-card small{margin-top:4px;color:var(--muted);font-size:11px}.sync-card svg{width:18px}.score-page{max-width:920px;min-height:100vh;margin:0 auto;background:var(--surface);box-shadow:0 0 0 1px var(--line)}.score-header{min-height:96px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:18px;padding:0 30px;border-bottom:1px solid var(--line)}.score-header h1{font-size:27px;letter-spacing:-.7px}.score-header>div span{display:block;margin-top:5px;color:var(--green-800)}.icon-button,.round-button{display:grid;place-items:center;border:1px solid #cfd5d0;background:#fff;border-radius:50%;cursor:pointer}.icon-button{width:44px;height:44px;color:var(--green-800)}.local-state{display:flex;align-items:center;gap:8px;color:#a26a00;font-size:13px}.local-state.saved{color:var(--green-800)}.local-state svg{width:20px}.player-context{min-height:116px;display:flex;align-items:center;gap:20px;padding:20px 34px;border-bottom:1px solid var(--line)}.large-avatar{display:grid;place-items:center;width:72px;height:72px;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--green-800);font-size:24px;font-weight:750}.player-context label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.player-context select{appearance:none;padding:3px 34px 3px 0;border:0;background:transparent;font-size:24px;font-weight:750;letter-spacing:-.5px}.player-context p{margin-top:6px;color:var(--muted);font-size:13px}.player-context p span{display:inline-block;width:1px;height:14px;margin:0 12px -2px;background:var(--line)}.score-workspace{padding:24px 34px 26px}.hole-selector{display:grid;grid-template-columns:62px 1fr 62px;align-items:center;gap:15px}.round-button{width:60px;height:60px;color:var(--green-800)}.round-button:disabled{opacity:.35;cursor:default}.hole-selector h2{text-align:center;font-size:32px;font-weight:520}.hole-selector h2 strong{color:var(--green-800);font-size:47px}.hole-selector h2 span{font-size:24px;font-weight:450}.hole-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 28px;padding:16px 0;background:var(--sand-100);border-radius:9px}.hole-facts.has-max{grid-template-columns:repeat(4,1fr)}.hole-facts div{text-align:center;border-right:1px solid #ded8cc}.hole-facts div:last-child{border-right:0}.hole-facts dt{color:var(--muted);font-size:13px}.hole-facts dd{margin-top:5px;color:var(--green-800);font-size:24px;font-weight:750}.hole-facts div:nth-child(3) dd,.hole-facts.has-max div:last-child dd{font-size:17px}.stepper-block{max-width:580px;margin:0 auto}.stepper-block>label{display:block;margin-bottom:12px;text-align:center;font-size:17px;font-weight:650}.score-stepper{height:118px;display:grid;grid-template-columns:1fr 1.7fr 1fr;border:2px solid var(--green-800);border-radius:10px;overflow:hidden}.score-stepper button{border:0;background:#fff;color:var(--green-800);font-size:54px;font-weight:300;cursor:pointer}.score-stepper strong{display:grid;place-items:center;border-left:1px solid var(--green-800);border-right:1px solid var(--green-800);font-size:68px;line-height:1}.calculated{display:grid;justify-items:center;margin:25px 0}.calculated span{font-size:13px;font-weight:650}.calculated strong{color:var(--green-800);font-size:55px;line-height:1.05}.calculated small{font-size:28px}.score-actions{display:grid;grid-template-columns:1.35fr .65fr;gap:12px}.score-actions .primary-button{justify-content:space-between;padding:0 22px}.score-actions .secondary-button{order:-1}.scorecard-preview{padding:22px 34px 30px;border-top:1px solid var(--line)}.scorecard-preview .section-heading span{color:var(--green-800);font-weight:650}.scorecard-grid{display:grid;grid-template-columns:repeat(9,minmax(54px,1fr));gap:5px;margin-top:16px;overflow-x:auto}.scorecard-grid button{min-width:54px;min-height:100px;display:grid;justify-items:center;align-content:center;gap:4px;border:0;border-radius:7px;background:transparent;cursor:pointer}.scorecard-grid button span,.scorecard-grid button small,.scorecard-grid button strong,.scorecard-grid button em{display:block}.scorecard-grid button small{color:var(--muted);font-size:10px}.scorecard-grid button strong{font-size:18px}.scorecard-grid button em{min-height:15px;color:var(--muted);font-size:11px;font-style:normal}.scorecard-grid button.active{color:#fff;background:var(--green-800)}.scorecard-grid button.active small,.scorecard-grid button.active em{color:#e9f1ec}.leaderboard-head{margin-top:7px}.score-detail-grid .golf-result-symbol{color:var(--result-color)}.calculated>span:first-child{font-size:13px;font-weight:650}.calculated .golf-result{margin-top:7px}.calculated .golf-result-symbol{min-width:74px;min-height:74px;color:var(--result-color);font-size:50px}.calculated .golf-result-score small{color:var(--result-color);font-size:25px;font-weight:750}.scorecard-grid{margin-top:13px}.scorecard-grid button>span,.scorecard-grid button>small,.scorecard-grid button>strong,.scorecard-grid button>em{display:block}.scorecard-grid .golf-result-symbol{color:var(--result-color);font-size:17px}.scorecard-grid button.active .golf-result-symbol{color:#fff}.scorecard-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.scorecard-totals>div{min-height:76px;display:grid;place-items:center;align-content:center;gap:3px;padding:9px 6px;border-right:1px solid var(--line);text-align:center}.scorecard-totals>div:last-child{border-right:0}.scorecard-totals>div>span:first-child{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.scorecard-totals>div>strong{color:var(--green-900);font-size:19px}.scorecard-totals>div>small{color:var(--muted);font-size:9px}.scorecard-totals .to-par{font-size:17px}.scorecard-totals .to-par strong{font-size:21px}.mobile-nav{display:none}.admin-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:34px 0 56px}.admin-header{min-height:86px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}.admin-header h1{font-size:clamp(28px,3vw,38px);line-height:1.05;letter-spacing:-1px}.admin-header p{margin-top:8px;color:var(--muted);font-size:14px}.save-indicator,.record-count{flex:0 0 auto;padding:10px 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:650}.save-indicator.dirty{color:#8a6100;border-color:#e3d2a7;background:#fffaf0}.save-indicator.saved{color:var(--green-800);border-color:#bdd7c8;background:#f2f8f4}.admin-section{padding:28px 0;border-bottom:1px solid var(--line)}.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.admin-section-heading h2{font-size:22px;letter-spacing:-.45px}.admin-section-heading p{margin-top:5px;color:var(--muted);font-size:13px}.form-grid{display:grid;gap:18px}.competition-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px}.participant-form{grid-template-columns:minmax(190px,1.3fr) minmax(160px,1fr) repeat(3,minmax(125px,.65fr)) auto;align-items:end}.form-grid label,.round-fields label,.search-field{display:grid;gap:7px;min-width:0}.form-grid label>span,.round-fields label>span,.search-field>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.form-grid input,.form-grid select,.round-fields input,.round-fields select,.search-field input{width:100%;min-height:44px;padding:0 12px;border:1px solid #cfd6d0;border-radius:6px;background:var(--surface);color:var(--ink);font-size:14px}.form-grid input:hover,.form-grid select:hover,.round-fields input:hover,.round-fields select:hover,.search-field input:hover{border-color:#9fac9f}.full-field{grid-column:1 / -1}.secondary-action,.primary-action,.text-action{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer}.secondary-action{border:1px solid var(--green-800);background:var(--surface);color:var(--green-800)}.primary-action{border:1px solid var(--green-900);background:var(--green-900);color:#fff}.primary-action:hover{background:var(--green-800)}.primary-action:disabled,.secondary-action:disabled{opacity:.42;cursor:not-allowed}.primary-action svg{width:18px}.text-action{min-height:32px;padding:0;border:0;background:transparent;color:var(--green-800)}.round-admin-list{border-top:1px solid var(--line)}.round-admin-row{display:grid;grid-template-columns:42px minmax(0,1fr) 40px;gap:16px;align-items:center;min-height:104px;padding:18px 0;border-bottom:1px solid var(--line)}.round-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green-900);color:#fff;font-weight:750}.round-fields{display:grid;grid-template-columns:1fr 150px 1fr 90px 135px 125px;gap:12px;min-width:0}.round-fields input,.round-fields select{min-height:40px;font-size:13px}.icon-action{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer;font-size:23px;line-height:1}.icon-action.danger,.row-actions .danger{color:var(--danger)}.icon-action:disabled{opacity:.3;cursor:not-allowed}.admin-actions{position:sticky;bottom:0;z-index:4;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;background:#f7f8f6f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.validation-summary,.form-feedback{color:var(--muted);font-size:12px}.admin-actions .primary-action{min-width:190px}.course-round-picker label,.course-tools label,.course-source{display:grid;gap:7px}.course-round-picker span,.course-tools span,.course-source>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.course-round-picker select,.course-tools input,.course-source input,.course-hole-row input,.ai-import textarea{border:1px solid #cfd6d0;border-radius:6px;background:var(--surface);color:var(--ink);font:inherit}.course-round-picker select,.course-tools input,.course-source input{min-height:42px;padding:0 12px}.course-round-picker{max-width:440px}.course-tools{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;gap:10px;align-items:end;margin-top:18px}.course-search-results{display:grid;gap:5px;margin:12px 0;padding:0;list-style:none}.course-search-results button{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-align:left;cursor:pointer}.course-source{margin-top:16px}.ai-import{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:8px}.ai-import summary{cursor:pointer;color:var(--green-800);font-weight:700}.ai-import p{margin:8px 0;color:var(--muted);font-size:12px}.ai-import textarea{width:100%;min-height:140px;padding:10px;margin-bottom:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;resize:vertical}.course-hole-grid{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));gap:7px 12px;margin-top:20px;max-width:600px}.course-hole-head,.course-hole-row{display:grid;grid-template-columns:38px 1fr 1fr;gap:6px;align-items:center}.course-hole-head{grid-column:1 / -1;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.course-hole-row input{min-height:36px;padding:0 8px}.course-save-row{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:600px;margin-top:20px;color:var(--muted);font-size:12px}.participant-form-section{padding-top:24px}.form-submit{min-width:155px}.form-feedback{min-height:17px;margin-top:12px}.participant-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.search-field{width:min(380px,100%)}.toolbar-actions{display:flex;gap:9px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.participant-table{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.participant-table-head,.participant-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(125px,1fr) 75px 90px 92px;align-items:center;gap:12px;padding:0 16px}.participant-table-head{min-height:43px;border-bottom:1px solid var(--line);background:#f3f5f3;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.participant-row{min-height:61px;content-visibility:auto;contain-intrinsic-size:61px;border-bottom:1px solid var(--line);font-size:13px}.participant-row:last-child{border-bottom:0}.participant-name{display:flex;align-items:center;gap:10px;min-width:0}.participant-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.row-actions{display:flex;justify-content:flex-end;gap:7px}.row-actions button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer}.row-actions svg{width:16px}.empty-admin-state{padding:42px 20px;color:var(--muted);text-align:center}.empty-score{display:grid;align-content:center;justify-items:center;gap:12px;padding:30px;text-align:center}.empty-score p{max-width:420px;color:var(--muted)}.round-status{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:999px;font-size:12px;font-weight:750}.round-status.planned{color:var(--muted);background:#ecefed}.round-status.active{color:#fff;background:var(--green-800)}.round-status.submitted{color:#205483;background:#e9f3fb}.round-status.approved{color:var(--green-800);background:var(--green-100)}.round-status.locked{color:#674d10;background:#f3e7c7}.round-status.cancelled{color:var(--danger);background:#f7e8e7}.round-picker{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);gap:8px;overflow-x:auto}.round-picker button{min-height:58px;display:grid;gap:4px;place-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-weight:700;cursor:pointer}.round-picker button small{color:var(--muted);font-size:10px;font-weight:600}.round-picker button.active{color:#fff;border-color:var(--green-900);background:var(--green-900)}.round-picker button.active small{color:#dfeae4}.round-operation-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:18px;border-radius:8px;background:var(--sand-100)}.round-operation-bar strong,.round-operation-bar span{display:block}.round-operation-bar span{margin-top:5px;color:var(--muted);font-size:12px}.status-actions{display:flex;gap:9px}.danger-outline{color:var(--danger);border-color:#d7aaa7}.draw-controls{display:grid;grid-template-columns:150px 130px auto auto;align-items:end;gap:12px}.draw-controls label,.group-meta label,.group-members label{display:grid;gap:7px}.draw-controls label>span,.group-meta label>span,.group-members label>span{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.draw-controls input,.draw-controls select,.group-card input,.group-card select{width:100%;min-height:42px;padding:0 11px;border:1px solid #cfd6d0;border-radius:6px;background:var(--surface);color:var(--ink)}.unassigned-panel{display:grid;grid-template-columns:auto 1fr;gap:13px;margin:22px 0;padding:14px 16px;border:1px solid #e3d2a7;border-radius:7px;background:#fffaf0;color:#785b17;font-size:12px}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px 0 48px}.group-card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 5px 18px #0f2d1c0a}.group-card>header{display:grid;grid-template-columns:34px minmax(0,1fr) auto 38px;align-items:center;gap:10px;padding:14px 15px;border-bottom:1px solid var(--line);background:#f3f5f3}.group-card>header input{min-height:38px;border-color:transparent;background:transparent;font-size:17px;font-weight:750}.group-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:var(--green-900);font-weight:750}.group-warning,.group-complete{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:750}.group-warning{color:#785b17;background:#f3e7c7}.group-complete{color:var(--green-800);background:#dfece5}.group-meta{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:16px 15px;border-bottom:1px solid var(--line)}.group-members{display:grid;gap:10px;padding:16px 15px}.group-card-warning,.group-card-ready{margin:0 15px 15px;padding:10px 12px;border-radius:6px;font-size:11px}.group-card-warning{color:#785b17;background:#fff7e4}.group-card-ready{color:var(--green-800);background:#eef6f1}.group-score-context{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 34px;border-bottom:1px solid var(--line);background:var(--sand-100)}.group-score-context label{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.group-score-context select{border:0;background:transparent;color:var(--green-900);font-size:18px;font-weight:750}.group-score-context p{margin-top:5px;color:var(--muted);font-size:12px}.group-player-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:14px 34px;border-bottom:1px solid var(--line)}.group-player-tabs button{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 8px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);text-align:left;cursor:pointer}.group-player-tabs button>span{grid-row:1 / span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7ece8;font-size:11px;font-weight:750}.group-player-tabs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.group-player-tabs small{color:var(--muted);font-size:10px}.group-player-tabs button.active{color:#fff;border-color:var(--green-900);background:var(--green-900)}.group-player-tabs button.active small{color:#dfeae4}.score-access-warning{padding:14px 34px;color:#785b17;background:#fff7e4;font-size:13px}.primary-button:disabled,.score-stepper button:disabled{opacity:.42;cursor:not-allowed}.invitation-security-note{display:grid;gap:4px;margin:24px 0 8px;padding:15px 17px;border:1px solid #e3d2a7;border-radius:8px;background:#fffaf0;color:#785b17;font-size:12px}.invitation-list{margin-top:18px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.invitation-row{min-height:74px;display:grid;grid-template-columns:38px minmax(150px,.8fr) minmax(260px,1.7fr) 70px auto;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.invitation-row:last-child{border-bottom:0}.invitation-row>div:nth-child(2) strong,.invitation-row>div:nth-child(2) span{display:block}.invitation-row>div:nth-child(2) span{margin-top:3px;color:var(--muted);font-size:11px}.invitation-row code{overflow:hidden;padding:9px;border-radius:5px;background:#f3f5f3;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.invite-state{color:var(--muted);font-size:11px;font-weight:750}.invite-state.active{color:var(--green-700)}.invite-actions{display:flex;align-items:center;gap:7px}.invite-actions .secondary-action{min-height:34px;width:auto;padding:0 10px}.missing-invite{color:var(--muted);font-size:12px}.guest-app{width:min(760px,100%);min-height:100vh;margin:0 auto;padding-bottom:86px;background:var(--surface);box-shadow:0 0 0 1px var(--line)}.guest-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line)}.guest-header .brand{padding:0;font-size:24px}.guest-header .brand-mark{width:31px;height:36px}.guest-header button{border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.guest-home{padding:28px 20px}.guest-welcome{margin-bottom:24px}.eyebrow{color:var(--green-700);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.guest-welcome h1,.guest-leaderboard>header h1{margin-top:5px;font-size:clamp(29px,7vw,40px);letter-spacing:-1px}.guest-welcome p,.guest-leaderboard>header p{margin-top:7px;color:var(--muted);font-size:13px}.guest-round-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;box-shadow:0 9px 28px #0f2d1c0f}.guest-round-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px;background:var(--sand-100)}.guest-round-heading span{color:var(--muted);font-size:11px}.guest-round-heading h2{margin-top:3px;font-size:23px}.guest-start{display:grid;grid-template-columns:.7fr .8fr 1.5fr;padding:18px 20px;border-bottom:1px solid var(--line)}.guest-start>div{padding:0 14px;border-right:1px solid var(--line)}.guest-start>div:first-child{padding-left:0}.guest-start>div:last-child{border-right:0}.guest-start span,.guest-start strong{display:block}.guest-start span{color:var(--muted);font-size:10px;text-transform:uppercase}.guest-start strong{margin-top:5px;font-size:14px}.guest-team{padding:18px 20px}.guest-team h3{margin:0 0 12px;font-size:15px}.guest-team>div{min-height:48px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 7px;border-radius:7px}.guest-team>div.current{background:#eef6f1}.guest-team>div strong{font-size:13px}.scorer-badge{padding:5px 8px;border-radius:999px;background:var(--green-100);color:var(--green-800);font-size:9px;font-weight:750}.guest-score-button{width:calc(100% - 40px);margin:0 20px 20px}.guest-readonly{display:flex;align-items:center;gap:12px;margin:0 20px 20px;padding:14px;border-radius:8px;background:#f3f5f3;color:var(--green-800)}.guest-readonly strong,.guest-readonly span{display:block}.guest-readonly strong{font-size:12px}.guest-readonly span{margin-top:3px;color:var(--muted);font-size:10px}.guest-empty-team{display:grid;gap:5px;padding:26px 20px;color:var(--muted);font-size:12px}.guest-nav{position:fixed;left:50%;bottom:0;z-index:10;width:min(760px,100%);height:calc(72px + env(safe-area-inset-bottom));display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom);transform:translate(-50%);border-top:1px solid var(--line);background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.guest-nav button{min-width:100px;display:grid;place-items:center;align-content:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.guest-nav button.active{color:var(--green-800);font-weight:750}.guest-nav button:disabled{opacity:.35}.guest-nav svg{width:22px}.guest-leaderboard>header{padding:26px 20px 5px}.guest-leaderboard .leaderboard{padding:18px 20px}.invite-problem{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:15px;padding:24px;text-align:center}.invite-problem .brand{padding:0 0 20px}.invite-problem p{max-width:420px;color:var(--muted)}.guest-team>div:not(.guest-team-summary){grid-template-columns:56px minmax(0,1fr) 86px 58px 54px;gap:8px}.guest-team>div strong small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:500}.guest-player-score,.guest-player-result{color:var(--green-800);font-size:12px;font-weight:750;text-align:right;white-space:nowrap}.guest-team-summary{grid-template-columns:minmax(0,1fr) auto!important;gap:3px 12px!important;min-height:auto!important;margin-top:12px;padding:13px!important;background:var(--green-100);color:var(--green-900)}.guest-team-summary span{font-size:10px;text-transform:uppercase}.guest-team-summary strong{font-size:18px!important;text-align:right}.guest-team-summary small{grid-column:1 / -1;color:var(--green-800);font-size:10px}.guest-team-summary.incomplete{background:var(--sand-100)}.guest-team .guest-team-head{min-height:auto;grid-template-columns:56px minmax(0,1fr) 86px 58px 54px;gap:8px;padding:0 7px 8px;border-bottom:1px solid var(--line);border-radius:0}.guest-team-head h3{grid-column:1 / 3;margin:0}.guest-team-head span{color:var(--muted);font-size:9px;font-weight:750;text-align:right;text-transform:uppercase}.guest-player-progress{color:var(--muted);font-size:11px;text-align:right}.guest-player-result.under{color:#bc3c36}.guest-player-result.over{color:var(--green-800)}.guest-scorer-contact{margin:10px 7px 0;color:var(--muted);font-size:10px}.guest-team-details-toggle{width:100%;margin-top:10px;padding:9px 7px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--green-800);font-size:11px;font-weight:750;text-align:left;cursor:pointer}.guest-team>.guest-team-breakdown{min-height:0;display:block;margin-top:3px;padding:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.guest-team-breakdown>div{min-height:34px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 9px;border-bottom:1px solid var(--line);font-size:10px}.guest-team-breakdown>div:last-child{border-bottom:0}.guest-team-breakdown>div.incomplete{color:var(--muted);background:#fbfaf7}.guest-team-breakdown b{color:var(--green-800);font-size:10px;white-space:nowrap}.guest-sync-state{display:inline-block;margin-top:8px;color:var(--green-700);font-size:10px;font-weight:750}.guest-sync-state.pending{color:#785b17}.guest-sync-state.error{color:#873c16}.team-result{display:grid;justify-items:end;gap:3px;color:var(--green-800)}.team-result b{font-size:14px}.team-result small{color:var(--muted);font-size:10px;font-weight:650}.guest-leaderboard-switch{display:inline-flex;margin-top:16px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#f3f5f3}.guest-leaderboard-switch button{min-height:34px;padding:0 16px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-weight:750}.guest-leaderboard-switch button.active{background:var(--surface);color:var(--green-800);box-shadow:0 1px 5px #0f2d1c1a}.guest-team-leaderboard{margin:18px 20px;overflow:hidden;border:1px solid var(--line);border-radius:10px}.guest-team-leaderboard>div,.guest-team-leaderboard article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px}.guest-team-leaderboard>div{color:var(--muted);background:#f8faf8;font-size:9px;font-weight:750;text-transform:uppercase}.guest-team-leaderboard>div span:last-child,.guest-team-leaderboard article>span:last-child{text-align:right}.guest-team-leaderboard article{min-height:64px;border-top:1px solid var(--line)}.guest-team-leaderboard article strong{font-size:15px}.guest-team-leaderboard article>span:last-child{display:grid;gap:3px;color:var(--green-800)}.guest-team-leaderboard b{font-size:15px}.guest-team-leaderboard small{color:var(--muted);font-size:10px;font-weight:650}.operation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:24px 0}.operation-summary>div{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.operation-summary span{color:var(--muted);font-size:12px}.operation-summary strong{color:var(--green-900);font-size:28px}.operation-table{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.operation-table-head,.operation-row{display:grid;grid-template-columns:65px minmax(190px,1.3fr) minmax(100px,.7fr) 60px 95px 90px;align-items:center;gap:12px;padding:0 15px}.operation-table-head{min-height:42px;background:#f3f5f3;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.operation-row{min-height:64px;border-top:1px solid var(--line);font-size:12px;transition:background .16s ease,box-shadow .16s ease}.operation-row.expanded{background:linear-gradient(90deg,#eef7f2,#f9fbfa);box-shadow:inset 3px 0 var(--green-700)}.operation-row>strong small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:450}.operation-row .secondary-action{min-height:34px;width:auto;padding:0 10px}.card-status{justify-self:start;padding:6px 8px;border-radius:999px;font-size:10px;font-weight:750}.card-status.draft{color:#785b17;background:#fff4d5}.card-status.submitted{color:#205483;background:#e9f3fb}.card-status.approved{color:var(--green-800);background:var(--green-100)}.card-status.returned{color:#873c16;background:#fff0e8}.card-status.missing{color:var(--muted);background:#ecefed}.scorecard-editor{padding:22px;border-top:1px solid var(--line);background:#fbfcfb;box-shadow:inset 3px 0 var(--green-700)}.scorecard-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.scorecard-editor>header span{color:var(--green-700);font-size:10px;font-weight:750;text-transform:uppercase}.scorecard-editor>header h2{margin-top:4px;font-size:24px}.scorecard-editor>header p{margin-top:5px;color:var(--muted);font-size:11px}.admin-score-grid{display:grid;grid-template-columns:repeat(9,minmax(60px,1fr));gap:7px;overflow-x:auto;padding-bottom:6px}.admin-score-grid label{display:grid;gap:6px}.admin-score-grid label>span{display:grid;color:var(--muted);font-size:10px;text-align:center}.admin-score-grid label small{margin-top:2px;font-size:8px}.admin-score-grid input{width:100%;min-width:58px;min-height:48px;padding:0 6px;border:1px solid #cfd6d0;border-radius:6px;color:var(--green-900);font-size:18px;font-weight:750;text-align:center}.editor-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.editor-actions .primary-action,.editor-actions .secondary-action{width:auto}.audit-panel{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.audit-panel h3{margin:0 0 12px;font-size:15px}.audit-panel>div{min-height:38px;display:grid;grid-template-columns:125px minmax(0,1fr) 130px;align-items:center;gap:12px;border-top:1px solid var(--line);font-size:11px}.audit-panel>div span,.audit-panel>div small,.audit-panel>p{color:var(--muted)}.group-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 34px;border-bottom:1px solid var(--line);background:#f8faf8}.group-submit-bar strong,.group-submit-bar span{display:block}.group-submit-bar strong{font-size:12px}.group-submit-bar span{margin-top:3px;color:var(--muted);font-size:10px}.group-submit-bar .secondary-action{width:auto;white-space:nowrap}@media(max-width:1120px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.brand{font-size:25px}.overview-grid{grid-template-columns:1fr;padding-right:0}.summary-rail{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 20px 24px}.summary-rail>section{min-width:0}.round-fields{grid-template-columns:repeat(3,minmax(120px,1fr))}.participant-form{grid-template-columns:repeat(3,minmax(140px,1fr))}.form-submit{min-height:44px}.participant-table-head,.participant-row{grid-template-columns:minmax(170px,1.4fr) minmax(120px,1fr) 70px 78px 92px}.group-grid{grid-template-columns:1fr}.operation-table-head,.operation-row{grid-template-columns:55px minmax(170px,1fr) 80px 55px 88px}.operation-table-head span:nth-child(3),.operation-row>span:nth-child(3){display:none}}@media(max-width:760px){.admin-session-bar{justify-content:space-between;min-height:48px;padding:8px 16px}.admin-session-bar .session-state{display:grid;gap:1px}.competition-switcher{width:100%;align-items:end}.competition-switcher>label{min-width:0;flex:1}.competition-switcher select{width:100%;min-width:0}.competition-create-panel{position:fixed;top:116px;right:16px;left:16px;width:auto}.admin-login-page{align-items:start;padding:18px}.admin-login-card{margin-top:7vh;padding:28px 22px}.admin-login-card h1{font-size:27px}body{background:var(--surface);padding-bottom:calc(74px + env(safe-area-inset-bottom))}.app-shell{display:block}.sidebar{display:none}.app-content{min-height:100vh}.topbar{min-height:84px;padding:14px 18px}.topbar>div:first-child{display:block}.topbar h1{font-size:25px}.topbar .date{margin-top:6px;font-size:12px}.profile strong{display:none}.profile>span{width:36px;height:36px;font-size:12px}.overview-grid{display:block;padding:0}.main-column{border-right:0}.day-switcher{min-height:54px;grid-template-columns:minmax(0,1fr)}.day-switcher .live-state{display:none}.round-tabs{grid-auto-columns:minmax(96px,1fr)}.leaderboard{padding:22px 16px 12px}.section-heading .text-button{display:flex}.leaderboard-head,.leaderboard-row{grid-template-columns:44px minmax(145px,1fr) 64px 52px}.leaderboard-head span:nth-child(3),.leaderboard-row>span:nth-child(3){display:none}.leaderboard-head span:nth-child(4):after{content:""}.place{padding-left:8px}.rank-mark{display:none}.avatar{width:31px;height:31px}.leaderboard-row{min-height:58px;font-size:12px}.holes-cell svg{width:13px}.player-score-detail{padding:13px 0 16px}.score-detail-grid{grid-template-columns:repeat(9,58px)}.table-footer{display:none}.summary-rail{display:block;padding:12px 16px 20px}.competition-summary,.sync-card{display:none!important}.team-standings{margin-top:0}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;height:calc(74px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom);background:#fffffff7;border-top:1px solid var(--line);box-shadow:0 -8px 28px #141f180f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav button{position:relative;display:grid;place-items:center;align-content:center;gap:3px;border:0;background:transparent;color:#505751;font-size:11px}.mobile-nav button.active{color:var(--green-800);font-weight:700}.mobile-nav button.active:before{content:"";position:absolute;top:0;width:40px;height:3px;border-radius:0 0 3px 3px;background:var(--green-800)}.mobile-nav svg{width:23px;height:23px}.score-page{width:100%;min-height:auto;box-shadow:none}.score-header{min-height:82px;grid-template-columns:40px 1fr auto;gap:10px;padding:8px 16px}.score-header .icon-button{width:40px;height:40px;border:0}.score-header h1{font-size:20px}.score-header>div span{font-size:13px}.local-state{font-size:11px}.local-state svg{width:17px}.player-context{min-height:100px;gap:14px;padding:16px 18px}.large-avatar{width:58px;height:58px;font-size:19px}.player-context select{max-width:240px;font-size:20px}.player-context p{font-size:11px}.player-context p span{margin:0 6px -2px}.score-workspace{padding:20px 18px 22px}.hole-selector{grid-template-columns:52px 1fr 52px}.round-button{width:50px;height:50px}.hole-selector h2{font-size:25px}.hole-selector h2 strong{font-size:43px}.hole-selector h2 span{font-size:20px}.hole-facts{margin:20px 0 24px;padding:13px 0}.hole-facts dt{font-size:11px}.hole-facts dd{font-size:21px}.hole-facts div:last-child dd{font-size:13px}.score-stepper{height:102px}.score-stepper strong{font-size:58px}.score-stepper button{font-size:46px}.calculated{margin:21px 0}.calculated strong{font-size:48px}.calculated small{font-size:23px}.score-actions{display:grid;grid-template-columns:1fr}.score-actions .secondary-button{order:0}.scorecard-preview{padding:20px 18px 24px}.scorecard-grid{grid-template-columns:repeat(9,58px);margin-right:-18px;padding-right:18px}.scorecard-grid button{min-height:96px}.admin-page{width:calc(100% - 32px);padding:22px 0 90px}.admin-header{display:grid;gap:14px}.admin-header h1{font-size:27px}.save-indicator,.record-count,.round-status{justify-self:start}.competition-form,.participant-form{grid-template-columns:1fr}.full-field{grid-column:auto}.round-admin-row{grid-template-columns:36px minmax(0,1fr) 34px;gap:9px;align-items:start}.round-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.round-number{width:32px;height:32px}.participant-toolbar{display:grid;align-items:stretch}.search-field{width:100%}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.participant-table{border:0;border-radius:0;background:transparent}.participant-table-head{display:none}.participant-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:13px 0}.participant-row>span:nth-child(2),.participant-row>span:nth-child(3),.participant-row>span:nth-child(4){display:block;grid-column:1;padding-left:42px;color:var(--muted);font-size:11px}.participant-row>span:nth-child(2):before{content:"Golf-ID: "}.participant-row>span:nth-child(3):before{content:"HCP: "}.participant-row>span:nth-child(4):before{content:"Spel-HCP: "}.participant-name{grid-column:1;grid-row:1}.row-actions{grid-column:2;grid-row:1 / span 4}.admin-actions{bottom:74px}.validation-summary{display:none}.admin-actions .primary-action{width:100%}.round-operation-bar{display:grid}.status-actions{display:grid;grid-template-columns:1fr 1fr}.draw-controls{grid-template-columns:1fr 1fr}.draw-controls .primary-action,.draw-controls .secondary-action{width:100%}.group-grid{padding-top:16px}.group-meta,.unassigned-panel{grid-template-columns:1fr}.group-score-context{display:grid;padding:15px 18px}.group-player-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 18px}.group-player-tabs button{grid-template-columns:30px minmax(0,1fr)}.group-player-tabs button>span{width:28px;height:28px}.invitation-list{border:0;background:transparent}.invitation-row{grid-template-columns:34px minmax(0,1fr) auto;padding:14px 0}.invitation-row code{grid-column:1 / -1}.invite-state{grid-column:3;grid-row:1}.invite-actions{grid-column:1 / -1;flex-wrap:wrap}.guest-header{min-height:68px}.guest-header .brand{font-size:21px}.guest-header .brand-mark{width:27px;height:32px}.guest-home{padding:24px 16px}.guest-round-heading,.guest-team,.guest-start{padding-left:16px;padding-right:16px}.guest-score-button{width:calc(100% - 32px);margin-left:16px;margin-right:16px}.guest-readonly{margin-left:16px;margin-right:16px}.guest-leaderboard>header{padding-left:16px;padding-right:16px}.guest-leaderboard .leaderboard{padding-left:16px;padding-right:16px}.operation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-summary>div{min-height:68px;padding:13px}.operation-table{border:0;background:transparent}.operation-table-head{display:none}.operation-row{grid-template-columns:46px minmax(0,1fr) auto;gap:6px 10px;padding:12px 0}.operation-row>span:nth-child(3){display:block;grid-column:2;color:var(--muted)}.operation-row>span:nth-child(4){grid-column:1;grid-row:2}.operation-row>span:nth-child(5){grid-column:2;grid-row:2}.operation-row>button{grid-column:3;grid-row:1 / span 2}.scorecard-editor{padding:17px 14px}.admin-score-grid{grid-template-columns:repeat(9,58px)}.editor-actions{display:grid;grid-template-columns:1fr}.editor-actions .primary-action,.editor-actions .secondary-action{width:100%}.audit-panel>div{grid-template-columns:1fr;gap:3px;padding:8px 0}.group-submit-bar{display:grid;padding:12px 18px}.group-submit-bar .secondary-action{width:100%}}.participant-form{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.85fr) minmax(160px,1fr) repeat(2,minmax(125px,.65fr)) auto}@media(max-width:760px){.participant-row>span:nth-child(2):before{content:"Spelar-ID: "}}@media(max-width:390px){.local-state{width:28px;overflow:hidden;gap:0}.local-state svg{min-width:20px}.player-context select{max-width:210px}.player-context p span{display:none}.player-context p{display:grid;gap:2px}.hole-selector h2{font-size:22px}.hole-selector h2 strong{font-size:38px}.hole-facts div:last-child dd{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.leaderboard-title-row{display:flex;align-items:end;justify-content:space-between;gap:18px}.leaderboard-title-row>div:first-child>span{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.leaderboard-view-switch{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:8px;background:#f3f5f3}.leaderboard-view-switch button{min-height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-weight:750;cursor:pointer}.leaderboard-view-switch button.active{background:var(--surface);color:var(--green-800);box-shadow:0 1px 5px #0f2d1c1a}.leaderboard-view-switch button:disabled{opacity:.4;cursor:not-allowed}.leaderboard-format-note{margin-top:12px;padding:9px 11px;border-radius:6px;background:#fff7e4;color:#785b17;font-size:11px}.leaderboard-head,.leaderboard-row{grid-template-columns:60px minmax(180px,1fr) 100px 100px 86px}.leaderboard-head{margin-top:14px;font-size:11px;font-weight:750;letter-spacing:.025em;text-transform:uppercase}.leaderboard-row{min-height:68px}.player-cell{display:block}.player-cell>span,.player-cell strong,.player-cell small{display:block;min-width:0}.player-cell strong{overflow:hidden;font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.player-cell small{margin-top:3px;color:var(--muted);font-size:10px}.leaderboard-result{color:var(--ink);font-size:19px;font-weight:650}.leaderboard-result small{font-size:10px}.leaderboard-to-par .to-par{font-size:18px}.holes-cell{font-size:14px}.player-score-detail{padding:18px 14px 20px 60px}.expanded-score-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.expanded-score-summary>span{min-height:52px;display:grid;place-items:center;align-content:center;gap:3px;border-right:1px solid var(--line);color:var(--muted);font-size:10px}.expanded-score-summary>span:last-child{border-right:0}.expanded-score-summary strong{color:var(--green-900);font-size:17px}.player-score-detail>.golf-result-legend{margin-top:12px}.scorecard-tables{display:grid;gap:8px;margin-top:14px}.scorecard-table-scroll{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.scorecard-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;text-align:center}.scorecard-table th,.scorecard-table td{height:37px;padding:2px;border-right:1px solid #edf0ed;border-bottom:1px solid #edf0ed}.scorecard-table tr:last-child th,.scorecard-table tr:last-child td{border-bottom:0}.scorecard-table th:last-child,.scorecard-table td:last-child{border-right:0}.scorecard-table thead th{height:34px;background:var(--green-800);color:#fff;font-weight:750}.scorecard-table th:first-child{width:76px;padding-left:10px;text-align:left}.scorecard-table th:last-child{width:48px}.scorecard-table tbody th{color:var(--muted);font-weight:600}.scorecard-table tbody td:last-child{color:var(--green-900);background:#f8faf8}.scorecard-table .gross-row th{color:var(--ink);font-weight:800}.scorecard-table .gross-row td{height:45px}.scorecard-table .points-row{font-weight:750}.scorecard-table td button{width:100%;height:100%;display:grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}.scorecard-table td.active-hole{background:var(--green-100);box-shadow:inset 0 0 0 2px var(--green-700)}.scorecard-table .golf-result-symbol{min-width:25px;min-height:25px;font-size:13px}.scorecard-table .empty-score-value{color:var(--muted)}.calculated>small{display:block;margin-top:9px;color:var(--green-800);font-size:12px;font-weight:750}.max-score-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;border:1px solid #b9c8be;border-radius:8px;background:#f7faf8;color:var(--green-800);font-size:13px;font-weight:750;cursor:pointer}.max-score-button span{color:var(--muted);font-size:10px;font-weight:600}.max-score-button.active{border-color:var(--green-800);background:var(--green-100);box-shadow:inset 0 0 0 1px var(--green-800)}.max-score-button:disabled{opacity:.42;cursor:not-allowed}@media(max-width:760px){.leaderboard-title-row{align-items:center}.leaderboard-view-switch button{min-height:32px;padding:0 10px}.leaderboard-head,.leaderboard-row{grid-template-columns:34px minmax(80px,1fr) 54px 54px 48px}.leaderboard-head span:nth-child(3),.leaderboard-row>span:nth-child(3){display:initial}.leaderboard-head{height:42px;margin-top:12px;font-size:9px}.leaderboard-row{min-height:66px;font-size:11px}.place{padding-left:2px;font-size:13px}.player-cell strong{font-size:12px}.player-cell small{font-size:9px}.leaderboard-result,.leaderboard-to-par .to-par{font-size:15px}.holes-cell{gap:1px;font-size:12px}.holes-cell svg{display:none}.player-score-detail{margin:0 -16px;padding:15px 12px 18px}.score-detail-heading{padding:0 3px}.expanded-score-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.expanded-score-summary>span:nth-child(2){border-right:0}.expanded-score-summary>span:nth-child(-n+2){border-bottom:1px solid var(--line)}.scorecard-preview .scorecard-tables{margin-right:-8px;margin-left:-8px}.scorecard-table{font-size:10px}.scorecard-table th:first-child{width:58px;padding-left:6px}.scorecard-table th:last-child{width:38px}.scorecard-table th,.scorecard-table td{height:35px;padding:1px}.scorecard-table .gross-row td{height:43px}.scorecard-table .golf-result-symbol{min-width:23px;min-height:23px;font-size:12px}.hole-facts.has-max{grid-template-columns:repeat(4,minmax(0,1fr))}.hole-facts.has-max dd{font-size:18px}.hole-facts div:nth-child(3) dd,.hole-facts.has-max div:last-child dd{font-size:12px}.max-score-button{min-height:50px}}@media(max-width:390px){.leaderboard{padding-right:10px;padding-left:10px}.leaderboard-title-row>div:first-child>span{font-size:9px}.leaderboard-view-switch button{padding:0 8px;font-size:10px}.leaderboard-head,.leaderboard-row{grid-template-columns:30px minmax(75px,1fr) 48px 48px 42px}.player-score-detail{margin-right:-10px;margin-left:-10px;padding-right:7px;padding-left:7px}.scorecard-table{font-size:9px}.scorecard-table th:first-child{width:51px}.scorecard-table th:last-child{width:34px}}.admin-invite-form{display:flex;align-items:end;gap:12px}.admin-invite-form label{flex:1;display:grid;gap:6px}.admin-invite-form label>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-invite-form input{min-height:42px;padding:0 11px;border:1px solid #cfd6d0;border-radius:6px;background:var(--surface)}.admin-access-list{border-top:1px solid var(--line)}.admin-access-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border-bottom:1px solid var(--line)}.admin-access-list strong,.admin-access-list span{display:block}.admin-access-list strong{font-size:12px}.admin-access-list span{margin-top:3px;color:var(--muted);font-size:10px}@media(max-width:760px){.admin-invite-form{display:grid;align-items:stretch}.admin-invite-form .secondary-action{width:100%}}
