/* One club identity across member, championship and organiser screens. */
:root { --hgc-font: 'Archivo', Arial, sans-serif; --hgc-ink: #103e2d; --hgc-muted: #52685d; --hgc-line: #173e2b20; --hgc-paper: #f5f6f0; }
body { font-family: var(--hgc-font); font-stretch: 100%; }
button, input, select, textarea { font-family: inherit; }
button, a { touch-action: manipulation; }
[hidden]{display:none!important}
body:not([data-skin]) :is(.nav,.drawer,.footer){display:none}
.route-loading{max-width:1200px;margin:40px auto;padding:32px;border-radius:24px;background:#eef3e5;color:#073b2c;font-size:16px}
body[data-skin='site'] .brand__logo{filter:none!important;object-fit:contain}
.avatar { object-fit: cover; object-position: center; aspect-ratio: 1; border-radius: 50%; box-sizing: border-box; flex-shrink: 0; overflow: hidden; }
.icon, .ai { flex-shrink: 0; }
body[data-skin='site'] { --paper: #fbfcf8; --paper-2: #f2f5ef; --ink: #113e2c; --ink-2: #254e3c; --ink-3: #476353; --gold: #c4ff32; }
body[data-skin='site'] :is(h1,h2,h3,h4) { text-transform: none; font-stretch: 100%; line-height: 1.12; letter-spacing: -.035em; }
body[data-skin='site'] .btn { border-radius: 12px; min-height: 44px; }
body[data-skin='site'] .nav { border-bottom-color: var(--hgc-line); }
body[data-skin='site'] .tour-bar { background: #e9f0e4; }
body[data-skin='site'] .tour-bar__inner { flex-wrap: wrap; }
body[data-skin='club'] { line-height: 1.5; }
body[data-skin='admin'] { font-size: 15px; line-height: 1.5; }
body[data-skin='admin'] :is(.eyebrow,.field-label,.badge,.mobile-wordmark span,.workspace-label) { font-size: 11px; }
body[data-skin='admin'] :is(.muted-note,.panel-heading p,.task-row small,.management-card p,.section-heading > span) { font-size: 13px; }
body[data-skin='admin'] :is(.task-row strong,.mini-event strong) { font-size: 15px; }
body[data-skin='admin'] .panel { background: #fff; border-color: var(--hgc-line); box-shadow: 0 5px 20px #16392704; }
body[data-skin='admin'] .admin-form__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; max-width: 1120px; }
body[data-skin='admin'] :is(input:not([type='checkbox']),select,textarea) { font-size: 16px; min-height: 46px; }
body[data-skin='admin'] .admin-form__grid .field :is(input:not([type='checkbox']),select){font-size:14px;min-height:44px}
body[data-skin='admin'] :is(.primary-button,.secondary-button,.entry-button) { font-size: 14px; min-height: 46px; border-radius: 12px; }
body[data-skin='admin'] .admin-content { max-width: 1320px; padding-top: 32px; }
body[data-skin='admin'] .admin-round-hero::before { background-image: linear-gradient(90deg,#082d20ef,#082d2060),url('/assets/img/club/hero-preview.jpg'); }
body[data-skin='admin'] .management-card.photo { background-image: linear-gradient(90deg,#082d20e8,#082d2066),url('/assets/img/club/history-pine.png'); }
body[data-skin='admin'] .console-hero, body[data-skin='admin'] .tour-feature { background-image: linear-gradient(90deg,#082d20e8,#082d2066),url('/assets/img/club/history-lake.png'); }
.results-page { background: var(--hgc-paper); }
.results-page .archive-width { max-width: 72rem; }
.results-page .archive-header { padding-bottom: 22px; border-bottom: 1px solid var(--hgc-line); }
.results-page .archive-header .brand-name span { font-weight: 700; }
.results-page .archive-list-heading h2 { font-size: clamp(1.15rem,2.5vw,1.55rem); font-weight: 650; line-height: 1.25; }
.results-page .archive-list-heading p { font-size: 13px; }
.results-page .archive-toolbar { position: relative; top: auto; width: fit-content; min-width: 110px; margin: 16px 0; border-radius: 14px; background: #e7edde; box-shadow: none; }
.results-page .archive-years a { border-radius: 10px; }
.results-page .archive-eyebrow { font-size: 11px; letter-spacing: .12em; }
.results-page .archive-menu a { font-size: 15px; }
.results-page .archive-footer { padding-bottom: 24px; }
.results-page .round-head { position: relative; isolation: isolate; margin: 24px 0; padding: clamp(20px,4vw,36px); border-radius: 26px; background: #0b3928; color: #f9fcf4; overflow: hidden; }
.results-page .round-head::before { content:''; position:absolute; inset:0; z-index:-1; opacity:.17; background: linear-gradient(90deg,#0b3928 15%,transparent),url('/assets/img/club/hero-preview.jpg') center 55%/cover; }
.round-head__top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:30px; }
.round-breadcrumb { display:inline-flex; align-items:center; gap:8px; font-size:13px; min-height:44px; color:#e3ecdf; }
.round-breadcrumb .icon { width:17px; height:17px; }
.round-status { display:inline-flex; align-items:center; gap:7px; border:1px solid #d9efc43d; border-radius:100px; padding:7px 11px; font-size:12px; background:#143e2ea6; }
.round-status i { width:6px; height:6px; border-radius:50%; background:#c4ff32; }
.round-status[data-tone='live'] i { background:#ffb96b; }
.results-page .round-head .archive-eyebrow { color:#c7dfb6; margin:0 0 10px; }
.results-page .round-head .archive-hero-copy { padding-right:120px; }
.results-page .round-head h1 { color:#fffdf5; font-size:clamp(2.15rem,5vw,3.9rem); line-height:1.05; font-weight:650; letter-spacing:-.045em; overflow-wrap:anywhere; margin:0; }
.results-page .round-head .archive-intro { color:#d0decf; font-size:15px; max-width:none; margin-top:14px; }
.round-number { position:absolute; right:36px; top:104px; display:grid; place-content:center; text-align:center; width:94px; height:94px; border:1px solid #d4f29361; border-radius:50%; color:#c4ff32; }
.round-number span { font-size:10px; letter-spacing:.15em; }
.round-number strong { font-size:42px; font-weight:500; line-height:1.05; }
.results-page .round-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:24px 0 0; margin:28px 0 0; border-top:1px solid #ebffdc2b; border-bottom:0; gap:20px; }
.results-page .round-fact { min-width:0; gap:5px; }
.results-page .round-fact .tiny { font-size:10px; color:#becfb9; }
.results-page .round-fact strong { font-size:16px; font-weight:600; color:#fffdf4; }
.results-page .round-fact small { color:#c5d5c4; font-size:12px; line-height:1.5; }
.results-page .round-honours { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr); gap:14px; margin:0 0 32px; padding:0; border:0; border-radius:0; box-shadow:none; background:none; }
.results-page .round-honours__win { display:flex; flex-direction:column; align-items:stretch; gap:20px; padding:24px; border-radius:22px; border:1px solid #cee694; background:linear-gradient(125deg,#edf6d3,#dcebba); }
.round-winner-label { display:flex; align-items:center; gap:9px; font-size:11px; font-weight:650; letter-spacing:.1em; color:#426027; }
.round-winner-label .icon { width:19px; height:19px; }
.round-winner-person { display:flex; align-items:center; gap:16px; }
.round-winner-person > div { min-width:0; }
.round-winner-person .avatar { border:3px solid #fff; box-shadow:0 3px 12px #16392718; }
.results-page .round-honours__name { font-size:clamp(1.35rem,2.8vw,1.9rem); line-height:1.15; font-weight:650; margin:0; letter-spacing:-.025em; overflow-wrap:anywhere; }
.round-winner-note { font-size:14px; color:#426027; margin:7px 0 0; }
.round-winner-rule { color:#546d3c; font-size:12px; padding-top:14px; border-top:1px solid #22431c18; margin-top:auto; }
.results-page .round-honours__rest { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; gap:12px; border:0; }
.results-page .club-honour { display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; gap:26px; border-radius:20px; padding:18px; background:#eaf0e3; border:1px solid #d9e3d0; }
.results-page .club-honour[data-tone='sand'] { background:#f4eddf; border-color:#e7ddc9; }
.results-page .club-honour[data-tone='blue'] { background:#e7eff1; border-color:#d1e1e5; }
.club-honour__label { display:flex; flex-wrap:wrap; align-items:center; gap:9px; font-size:11px; color:#526456; }
.club-honour__label .icon { width:19px; height:19px; }
.club-honour__person { display:flex; flex-direction:column; gap:12px; }
.results-page .club-honour__text strong { font-size:15px; line-height:1.4; font-weight:600; }
.club-honour__text small { color:#526456; font-size:12px; margin-top:5px; }
.results-page .round-field .archive-list-heading { margin:0 0 16px; align-items:center; }
.round-field .archive-eyebrow { margin:0 0 5px; font-size:10px; }
.field-search { display:flex; align-items:center; gap:10px; max-width:100%; padding:0 14px; background:#fff; border:1px solid var(--hgc-line); border-radius:12px; }
.field-search .icon { width:18px; height:18px; color:#5b7062; }
.field-search input { border:0; background:none; min-width:0; width:180px; max-width:100%; min-height:46px; color:var(--hgc-ink); font-size:16px; }
.field-table { border:1px solid var(--hgc-line); border-radius:20px; overflow:hidden; background:#fff; }
.field-table-heading { display:flex; justify-content:space-between; gap:10px; padding:17px 22px; background:#eaf0e4; color:#466344; font-size:11px; letter-spacing:.03em; }
.field-count { font-size:13px; letter-spacing:0; }
.results-page .field-list { gap:0; }
.results-page .field-row { border:0; border-bottom:1px solid #173e2b12; border-radius:0; background:#fff; }
.results-page .field-row:last-child { border-bottom:0; }
.results-page .field-row__head { padding:16px 22px; gap:16px; grid-template-columns:34px 40px minmax(0,1fr) auto; }
.results-page .field-row__pos { color:#637365; font-size:13px; font-weight:550; }
.results-page .field-row[data-rank='1'] .field-row__pos { background:#e6f5c2; color:#27521c; border-radius:9px; padding:6px 0; text-align:center; }
.results-page .field-row__who strong { font-weight:600; font-size:15px; flex-wrap:wrap; gap:7px; }
.results-page .field-row__who .muted { color:#647367; font-size:12px; text-transform:none; letter-spacing:0; margin-top:4px; }
.results-page .field-row__pts strong { font-size:26px; font-weight:650; }
.results-page .field-row__pts .muted { font-size:10px; }
.results-page .field-row[data-me='true'], .results-page .field-row[data-me='true'] summary:hover { background:#c4ff32; }
.field-source-note { display:flex; align-items:flex-start; gap:8px; color:#5d7062; font-size:12px; margin:16px 3px 0; }
.field-source-note .icon { width:16px; height:16px; margin-top:2px; }
.field-no-matches { padding:22px; color:#536858; }
.results-page .field-away { margin:22px 0 0; padding:18px 20px; border:1px solid var(--hgc-line); border-radius:16px; }
.results-page .field-away > summary { min-height:26px; font-weight:550; font-size:14px; }
.results-page .field-away .tiny { font-size:13px; line-height:1.6; }
.results-page .archive-table th { font-size:11px; padding:15px 12px; letter-spacing:.03em; }
.results-page .archive-table td { padding:13px 12px; font-size:14px; }
.results-page .archive-table-wrap { box-shadow:none; background:#fff; border-radius:18px; }
.results-page .archive-table-note { font-size:13px; }
.results-page .archive-who { gap:9px; }
.results-page .archive-standings { margin-top:36px; }
.results-page .result-open { min-height:270px; padding:24px; }
.results-page .result-round-tag, .results-page .result-date { font-size:12px; }
.results-page .result-venue { font-size:13px; }
.results-page .result-winners strong { font-size:15px; }
.results-page .result-winners small, .results-page .result-points small, .results-page .result-points > span { font-size:11px; }
.results-page .archive-carousel { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 32px)/3); grid-template-columns:none; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:2px; scrollbar-width:thin; scrollbar-color:#8aa671 #e3ead9; padding:2px 2px 14px; overscroll-behavior-x:contain; }
.archive-carousel > * { scroll-snap-align:start; }
.carousel-actions { display:flex; gap:8px; align-items:center; }
.carousel-actions button { width:44px; height:44px; display:grid; place-items:center; border:1px solid #bcccb4; border-radius:50%; background:#fff; color:#234a32; }
.carousel-actions button:disabled { opacity:.35; cursor:default; }
.carousel-actions .icon { width:19px; height:19px; }
.carousel-hint { font-size:12px; color:#607356; margin:0; }
.carousel-position { margin-left:auto; font-size:12px; color:#52685d; white-space:nowrap; }
.header-session { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:24px; color:var(--lime); border:1px solid #c4ff3240; font-size:13px; white-space:nowrap; }
.header-actions { display:flex; align-items:center; gap:10px; }
.carousel-actions { margin-bottom:12px; flex-wrap:wrap; }
.release-stamp { padding:16px 24px 110px; text-align:center; font-size:11px; letter-spacing:.05em; color:#698072; }
body[data-skin='admin'] .release-stamp { margin-left:226px; padding-bottom:24px; }
@media(max-width:760px) { body[data-skin='admin'] .release-stamp { margin-left:0; padding-bottom:110px; } }
.standings-expand { display:none; }
.standings-expand button { min-height:44px; padding:10px 14px; border:1px solid #becbb4; border-radius:10px; background:#e8f0db; color:#214a2b; font-size:14px; }
@media(max-width:1000px) {
  body[data-skin='admin'] .admin-form__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .results-page .round-honours { grid-template-columns:1fr; }
  .results-page .round-honours__win { gap:16px; }
  .results-page .round-honours__rest { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .results-page .club-honour { gap:18px; }
  .results-page .archive-carousel { grid-auto-columns:calc((100% - 16px)/2); }
}
@media(max-width:600px) {
  body[data-skin='admin'] .admin-form__grid { grid-template-columns:1fr; }
  .results-page .archive-shell { padding-top:max(16px,env(safe-area-inset-top)); }
  .results-page .archive-width { width:calc(100% - 28px); }
  .results-page .archive-header { padding-bottom:16px; }
  .results-page .round-head { margin-top:18px; border-radius:22px; padding:20px; }
  .round-head__top { margin-bottom:26px; gap:5px; }
  .round-breadcrumb { font-size:12px; }
  .round-status { font-size:11px; padding:6px 9px; }
  .results-page .round-head .archive-hero-copy { padding-right:0; }
  .round-number { display:none; }
  .results-page .round-head .archive-intro { font-size:14px; }
  .results-page .round-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; margin-top:24px; padding-top:22px; }
  .results-page .round-fact strong { font-size:15px; }
  .results-page .round-honours { gap:12px; margin-bottom:26px; }
  .results-page .round-honours__win { padding:20px; }
  .results-page .round-honours__rest { grid-template-columns:1fr; gap:8px; }
  .results-page .club-honour { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; padding:14px; border-radius:15px; align-items:center; }
  .club-honour__label { font-size:11px; gap:7px; flex-wrap:nowrap; }
  .club-honour__person { flex-direction:row; gap:10px; align-items:center; }
  .results-page .club-honour__text strong { font-size:13px; }
  .results-page .round-field .archive-list-heading { display:grid; gap:14px; }
  .field-search input { width:100%; }
  .results-page .field-row__head { padding:14px 12px; grid-template-columns:26px 32px minmax(0,1fr) auto; gap:8px; }
  .results-page .field-row__head .avatar { width:32px!important; height:32px!important; font-size:11px!important; }
  .results-page .field-row__who strong { font-size:13px; }
  .results-page .field-row__who .muted { font-size:11px; }
  .results-page .field-row__pts { display:grid; gap:0; justify-items:end; }
  .results-page .field-row__pts strong { font-size:23px; }
  .field-table-heading { padding:14px; font-size:10px; }
  .results-page .archive-carousel { grid-auto-columns:88%; }
  .results-page .result-open { padding:20px; min-height:265px; }
  .carousel-actions { gap:6px; }
  .standings-expand { display:block; margin:0 0 12px; }
  .archive-standings:not(.is-expanded) .round-score-column { display:none; }
  .results-page .archive-table td, .results-page .archive-table th { padding:12px 8px; font-size:12px; }
  .results-page .archive-who { gap:6px; }
  .results-page .archive-who .avatar { display:none; }
  .results-page .archive-table:not(.expanded-table) { min-width:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Functional member portal: shared palette, readable type and native safe areas. */
.club-crest{width:52px;height:48px;object-fit:contain;flex-shrink:0}
.admin-course-library{--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--t-h1:24px;--ink:#073b2c;--line:#d9e3d5;--line-2:#d9e3d5;--live:#965520}
.admin-course-library .stack{display:grid;gap:18px}.admin-course-library .card{padding:24px;border:1px solid #d9e3d5;border-radius:22px;background:#fff;margin-bottom:20px}.admin-course-library .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.admin-course-library .row--between{justify-content:space-between}.admin-course-library .scroll-x{overflow:auto;max-width:100%}.admin-course-library .btn{min-height:46px;padding:12px 18px;background:#c4ff32;color:#073b2c;border:1px solid #c7daa3;border-radius:24px;font:inherit;font-size:14px}.admin-course-library .btn--ghost{background:#edf4e4}.admin-course-library .input,.admin-course-library .select{min-height:46px;padding:10px 14px;border:1px solid #d0deca;border-radius:12px;color:#073b2c;background:white;font-size:16px;max-width:100%}.admin-course-library table{border-collapse:collapse;width:100%;font-size:14px}.admin-course-library th,.admin-course-library td{padding:12px 8px;border-bottom:1px solid #dce6d3;text-align:left;white-space:nowrap}.admin-course-library .pill{padding:7px 12px;border-radius:16px;background:#eff5e7;font-size:12px}
.admin-course-library,.admin-course-library .stack,.admin-course-library .stack>*,.course-library-body{min-width:0;max-width:100%}
.admin-course-library .stack{grid-template-columns:minmax(0,1fr)}
.course-library-item{border:1px solid #d9e3d5;border-radius:18px;background:#fff;margin:12px 0;min-width:0}
.course-library-item>summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;padding:18px;min-height:64px;list-style:none}
.course-library-item>summary b,.course-library-item>summary small{display:block;overflow-wrap:anywhere}.course-library-item>summary small{color:#64756b;margin-top:5px;font-size:12px}
.course-library-body .card{border:0;margin-bottom:0}.admin-course-library .scroll-x{min-width:0;width:100%;overscroll-behavior-inline:contain}
.admin-course-library .scroll-x input{min-width:100px}.admin-course-library .card h2{overflow-wrap:anywhere}
@media(max-width:650px){.admin-course-library .card{padding:16px}.admin-course-library table{font-size:12px}.admin-course-library th,.admin-course-library td{padding:10px 6px}}
.portal-table.course-create-table{min-width:0;width:100%;table-layout:fixed}.course-create-table input{max-width:120px;width:100%;min-width:0}.course-create-table th,.course-create-table td{padding:12px 6px}.portal-card>summary{font-weight:700;cursor:pointer;min-height:44px}.portal-form fieldset{padding:20px;min-width:0}.portal-form legend{font-weight:700}.portal-form input[type=color]{padding:4px;height:46px}
body[data-skin=admin] dialog{--paper:#fff;--ink:#073b2c;--line-2:#d8e3d0;--r-lg:24px;--s-5:24px;--s-4:16px;--t-h1:24px;max-height:90svh;overflow:auto}body[data-skin=admin] dialog::backdrop{background:#002d2380;backdrop-filter:blur(4px)}body[data-skin=admin] dialog .stack{display:grid;gap:16px}body[data-skin=admin] dialog .row{display:flex;gap:12px;flex-wrap:wrap}body[data-skin=admin] dialog .btn{min-height:46px;border-radius:24px;border:1px solid #cadbb8;padding:12px 18px;background:#c4ff32;color:#073b2c}body[data-skin=admin] dialog input,body[data-skin=admin] dialog select{min-height:46px;font-size:16px;max-width:100%;padding:12px;border:1px solid #cdddc4;border-radius:12px}
body[data-skin='club']{--hero-image:url('/assets/img/club/start-round-golfer.png')}
.tour-workspace{--s-3:12px;--s-4:16px;--s-5:24px;--t-h1:24px;--gold:#c4ff32;--gold-ink:#073b2c;--line:#d9e3d5;--muted:#687b6f}
.tour-selector{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}.tour-selector label{display:grid;gap:8px;flex:1;max-width:500px}
.tour-workspace input:not([type=checkbox]),.tour-workspace select{min-width:0;max-width:100%;min-height:46px;background:white;color:#073b2c;border:1px solid #d2ddcc;border-radius:12px;padding:12px;font-size:16px;width:100%}
.tour-tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 16px;scrollbar-width:thin}.tour-tabs button{min-height:46px;white-space:nowrap;padding:12px 20px;background:#fff;border:1px solid #d5dfd0;border-radius:24px;font-weight:700}.tour-tabs button[aria-current=page]{background:#073b2c;color:#c4ff32}
.tour-admin-hero{padding:32px;border-radius:28px;margin-bottom:20px;background:linear-gradient(90deg,#073b2cf5,#073b2c75),url('/assets/img/club/history-lake.png') center/cover;color:white}.tour-admin-hero h2{font-size:clamp(28px,4vw,44px);margin:10px 0}.tour-admin-hero .portal-eyebrow{color:#c4ff32}
.portal-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portal-metrics strong{font-size:clamp(24px,3vw,38px);overflow-wrap:anywhere}.tour-member-picks{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px;max-height:300px;overflow:auto}
.portal-table-scroll{overflow:auto;margin-bottom:20px;max-width:100%}.portal-table{border-collapse:collapse;width:100%;min-width:660px}.portal-table th{text-align:left;font-size:12px;text-transform:uppercase;padding:12px;background:#eef4e7}.portal-table td{padding:14px 12px;border-bottom:1px solid #d9e3d5}.portal-table select{min-width:140px}
@media(max-width:650px){.tour-selector{display:grid;grid-template-columns:1fr;align-items:stretch}.tour-selector label{max-width:none;width:100%}.tour-workspace .portal-table{min-width:0}.tour-workspace .portal-table thead{display:none}.tour-workspace .portal-table tbody{display:grid;gap:14px}.tour-workspace .portal-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dbe7d0;border-radius:18px;padding:12px;background:#f6f9f1}.tour-workspace .portal-table td{border:0;padding:8px;min-width:0;overflow-wrap:anywhere}.tour-workspace .portal-table td:first-child{grid-column:1/-1}.tour-workspace .portal-table td::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;color:#607568;margin-bottom:6px}.tour-workspace .portal-table select{min-width:0;padding:10px;font-size:14px}.tour-workspace .portal-table-scroll{overflow:visible}}
.tour-draw .card{background:#fff;padding:24px;border:1px solid #d9e3d5;border-radius:24px;margin:20px 0}.tour-draw .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tour-draw .row--between{justify-content:space-between}.tour-draw .stack{display:grid;gap:12px}.tour-draw .btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid #d5dfd0;border-radius:22px;background:#eef4e7;color:#073b2c;min-height:46px;font-weight:600;font-size:14px}.tour-draw .btn--gold{background:#c4ff32}.tour-draw .btn--danger{background:#fff4e8;color:#813725}.tour-draw .muted,.tour-draw .tiny{color:#687b6f;font-size:13px}.tour-draw .draw-match{border:1px solid #d5dfd0;padding:20px;border-radius:20px}.tour-draw .draw-match__grid{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;gap:10px;margin:16px 0}.tour-draw .draw-match__vs{text-align:center}.tour-draw .note{padding:16px;border-radius:16px;background:#eef4e7}.tour-draw .formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tour-draw .field{display:grid;gap:8px}.tour-draw .field__label{font-size:12px}.tour-draw .draw-match__tee{color:#5b735f;font-size:13px}
@media(max-width:700px){.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-draw .card,.tour-draw .draw-match{padding:16px}.tour-draw .formgrid{grid-template-columns:1fr}.tour-tabs button{padding:12px 15px}.tour-admin-hero{padding:24px}.tour-draw .draw-match__grid{grid-template-columns:minmax(0,1fr);gap:8px}}
.admin-topbar{position:relative}.admin-mobile-menu{position:absolute;left:14px;right:14px;top:100%;z-index:55;background:#073b2c;color:#f9fcf3;border:1px solid #477455;border-radius:22px;padding:10px;box-shadow:0 20px 50px #0003}.admin-mobile-menu .admin-menu{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.admin-mobile-menu .admin-menu a{min-height:54px;margin:0}.mobile-menu-button{min-width:44px;min-height:44px;border:1px solid #d0ddc8;background:#fffefa;border-radius:50%;display:grid;place-items:center}.mobile-menu-button .ai{width:22px;height:22px}.admin-mobile-menu .ai{width:20px;height:20px}
@media(min-width:1000px){.mobile-menu-button,.admin-mobile-menu{display:none!important}}
.portal-art-preview{display:block;width:100%;height:320px;object-fit:cover;border-radius:22px;margin:20px 0;background:#e9f0df}.hero-welcome{max-width:460px;color:#dae6d4;font-size:16px;margin-top:18px}.portal-round-hero.is-compact{min-height:0;padding:20px 24px}.portal-round-hero.is-compact h1{font-size:clamp(24px,3vw,36px)}.portal-round-hero.is-compact .portal-tags,.portal-round-hero.is-compact>p:not(.portal-eyebrow){display:none}
.portal-main.is-scoring{padding-bottom:190px}.portal-score-actions{position:fixed;z-index:39;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 28px));display:flex;gap:8px;padding:10px;border:1px solid #cedbc5;border-radius:24px;background:#fffefa;box-shadow:0 8px 30px #073b2c22}.portal-score-actions button{flex:1;white-space:normal}
@media(min-width:360px) and (max-width:650px){.portal-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.portal-score-card{padding:12px!important}.portal-score-card .portal-member-name{display:block}.portal-score-card .portal-member-name .avatar{width:32px;height:32px}.portal-score-card .portal-member-name h2{font-size:14px!important;overflow-wrap:anywhere;margin-top:8px}.portal-score-card .portal-member-name small{font-size:10px}.portal-stepper{gap:3px!important;margin:14px 0!important}.portal-stepper button{width:44px!important;height:44px!important;min-width:44px!important}.portal-strokes{font-size:42px!important}.portal-score-card .portal-actions{gap:5px}.portal-score-card .portal-actions button{padding:8px;font-size:11px}.portal-score-card>p{font-size:11px}.portal-hole-nav{padding:14px!important;margin:14px 0!important}.portal-hole-nav strong{font-size:50px!important}.portal-hole-nav p{font-size:12px}}
.portal-shell{color-scheme:light;background:#f5f6ee;color:#073b2c;min-height:100svh;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) calc(100px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));font-family:Archivo,Inter,Arial,sans-serif;font-size:16px;line-height:1.5}
.portal-shell *, .portal-form *, .portal-member-table *{box-sizing:border-box}
.portal-header,.portal-main{max-width:1200px;margin:auto}
.portal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;position:relative;z-index:30}
.portal-brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.14em;color:#073b2c}
.portal-brand img{object-fit:contain}.portal-brand small{display:block;font-size:10px;letter-spacing:.28em}.portal-header-actions{display:flex;align-items:center;gap:8px}
.portal-menu-toggle{min-width:46px;min-height:46px;border-radius:50%;border:1px solid #cdd9ca;background:#fff;color:#073b2c;font-size:21px}
.portal-menu{position:absolute;right:0;top:90%;padding:12px;border-radius:20px;background:#fff;border:1px solid #cdd9ca;box-shadow:0 16px 60px #082e2324;display:grid;gap:8px;min-width:240px}
.portal-skip{position:fixed;top:-100px;background:#c4ff32;color:#073b2c;z-index:100;padding:12px}.portal-skip:focus{top:8px}
.portal-title{padding:24px 0}.portal-title h1,.portal-round-hero h1{font-size:clamp(32px,5vw,62px);letter-spacing:-.04em;line-height:1.05;margin:12px 0 18px}.portal-title p{margin:8px 0;color:#5d7168}
.portal-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;line-height:1.6;color:#4b6a52}
.portal-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:20px;scrollbar-width:thin}
.portal-tabs a,.portal-tabs button{flex-shrink:0;min-height:44px;padding:12px 18px;border:1px solid #d8e2d4;border-radius:30px;background:#fff;color:#073b2c;white-space:nowrap;font:inherit;font-size:14px}
.portal-tabs [aria-current='page'],.portal-tabs [aria-pressed='true']{background:#073b2c;color:#c4ff32;border-color:#073b2c}
.portal-card{padding:clamp(20px,3vw,30px);border:1px solid #d9e3d5;background:#fff;border-radius:26px;margin:0 0 20px;min-width:0;color:#073b2c}
.portal-card h2,.portal-card h3{margin:0 0 14px;line-height:1.2}.portal-card p{color:#61726a}.portal-card--pine{background:linear-gradient(110deg,#e4efdceF,#dce7ccae),url('/assets/img/club/history-pine.png') center/cover}
.portal-card--blue{background:linear-gradient(110deg,#e1f0f4f0,#c2e3efb0),url('/assets/img/club/history-lake.png') center/cover}
.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}.portal-grid .portal-card{margin:0}
.portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid #c4ff32;border-radius:24px;background:#c4ff32;color:#073b2c;font:inherit;font-size:14px;font-weight:700;text-align:center;line-height:1.25;cursor:pointer}
.portal-button--soft{background:#eef4e7;border-color:#dae5d2;color:#073b2c}.portal-button:disabled{opacity:.45;cursor:default}
.portal-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.portal-actions .portal-button{padding:10px 16px}.portal-card-heading,.portal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}.portal-stats article{padding:20px;background:#fff;border:1px solid #dce5d5;border-radius:20px;min-width:0}.portal-stats small{display:block;font-size:12px;color:#64756b}.portal-stats strong{display:block;font-size:clamp(22px,3vw,36px);line-height:1.3;margin-top:8px;overflow-wrap:anywhere}
.portal-welcome{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;background:#073b2c;color:white;border-radius:30px;margin-bottom:24px;min-height:330px}.portal-welcome>div{padding:clamp(24px,4vw,48px);position:relative;z-index:1}.portal-welcome h2{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.035em;margin:18px 0}.portal-welcome p{color:#dcebd6;max-width:400px}.portal-welcome .portal-eyebrow{color:#c4ff32}.portal-welcome img{width:100%;height:100%;max-height:430px;object-fit:cover;object-position:center 40%;mask-image:linear-gradient(90deg,transparent,#000 28%)}
.portal-round{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid #e3e9df}.portal-round:last-child{border:0}.portal-round h3{margin:4px 0}.portal-round small{font-size:12px;color:#607269}
.portal-profile-hero{display:flex;align-items:center;gap:20px;padding:28px;background:#e7efdc;border-radius:26px;margin-bottom:24px}.portal-profile-hero h2{font-size:34px;margin:0}.portal-profile-hero p{margin:5px 0}.portal-profile-hero .avatar,.portal-member .avatar,.portal-member-name .avatar{border-radius:50%;display:grid;place-items:center;background:#073b2c;color:#c4ff32;object-fit:cover}
.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.portal-form label{display:grid;gap:8px;font-size:13px;font-weight:600;min-width:0}.portal-form .portal-check{display:flex;align-items:center;gap:12px}
.portal-shell input:not([type='checkbox']),.portal-shell select,.portal-shell textarea,.portal-form input:not([type='checkbox']),.portal-form textarea,.portal-toolbar input,.portal-toolbar select{font:inherit;font-size:16px;min-height:46px;border:1px solid #cdd9c7;padding:12px 14px;border-radius:12px;background:white;color:#073b2c;max-width:100%;min-width:0}
.portal-form input:not([type='checkbox']),.portal-form textarea{width:100%}.portal-form textarea{min-height:90px}.portal-form input[type='checkbox']{width:22px;height:22px;accent-color:#075c3d}
.portal-notice{font-size:14px;padding:12px 0;line-height:1.6;color:#546d5e}.portal-notice[role='alert']{color:#8c2f21}.portal-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;margin-top:24px}.portal-member{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #dce5d5;border-radius:22px}.portal-member h2{font-size:18px;margin:0}.portal-member p{font-size:13px;color:#6b7b70;margin:8px 0 0}
.portal-history{display:grid;gap:18px}.portal-history-card{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;min-height:270px;border:1px solid #dbe4d5;border-radius:26px;background:#fff}.portal-history-card>div:not(.portal-history-art){padding:24px}.portal-history-art{background-position:center;background-size:cover;min-height:220px}.portal-history-card:nth-child(even) .portal-history-art{order:2}.portal-history-points{font-size:58px;letter-spacing:-.04em}.portal-history-card h2{font-size:24px;line-height:1.1;margin:12px 0}.portal-history-card p{font-size:13px}
.portal-dock{position:fixed;z-index:40;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-around;gap:6px;width:min(600px,calc(100% - 28px));border:1px solid #d0ddc8;border-radius:28px;background:#fffefa;padding:8px;box-shadow:0 8px 40px #073b2c20}.portal-dock a{padding:14px 12px;min-height:46px;text-align:center;font-size:13px;border-radius:22px;flex:1}.portal-dock a[aria-current='page']{background:#c4ff32;color:#073b2c;font-weight:700}
.portal-ledger-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e2eadc;padding:18px 0}.portal-ledger-row small{display:block;color:#617468;font-size:12px;margin-top:5px}.is-negative{color:#923b26}.portal-tags{display:flex;gap:6px;flex-wrap:wrap}.portal-tags span{display:inline-flex;padding:6px 10px;border-radius:20px;background:#e9f0df;font-size:11px;font-weight:650}
.portal-table-wrap{overflow-x:auto;max-width:100%;scrollbar-width:thin}.portal-member-table{width:100%;min-width:1000px;border-collapse:collapse;color:#073b2c;font-size:14px}.portal-member-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:#edf3e6;padding:14px}.portal-member-table td{padding:16px 14px;border-bottom:1px solid #e4ebdf;vertical-align:middle}.portal-member-table tr:nth-child(even){background:#f8faf5}.portal-member-table small{display:block;color:#6e7c70;font-size:12px}.portal-member-table .is-inactive{opacity:.65}.portal-member-name{display:flex;gap:12px;align-items:center}.portal-member-name h2{font-size:18px;margin:0}.portal-member-name>div{min-width:0}
.portal-source{margin:24px 0;padding:20px;border:1px solid #d8e3d1;border-radius:20px;background:#f7faf3;color:#073b2c}.portal-source summary{min-height:44px;cursor:pointer;font-weight:700}.portal-photo-label{display:block;margin-top:22px}.portal-form input[type='file']{border:0;max-width:100%;font-size:14px}
.portal-round-hero{position:relative;padding:clamp(24px,4vw,44px);border-radius:28px;background:linear-gradient(90deg,#073b2cf5,#073b2cc0),url('/assets/img/club/history-lake.png') center/cover;color:white;margin:16px 0 24px}.portal-round-hero .portal-eyebrow{color:#c4ff32}.portal-round-hero .portal-tags{margin-top:20px;color:#073b2c}.portal-round-hero p{color:#d0e5d6}
.portal-hole-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#073b2c;color:#c4ff32;padding:24px;border-radius:26px;margin-bottom:24px}.portal-hole-nav>div{text-align:center}.portal-hole-nav strong{font-size:76px;line-height:1.1;display:block}.portal-hole-nav small{letter-spacing:.16em}.portal-hole-nav p{font-size:14px;color:white;margin:8px 0}.portal-hole-arrow{border:1px solid #9aa985;background:#c4ff32;color:#073b2c;border-radius:50%;width:50px;height:50px;font-size:26px}.portal-hole-arrow:disabled{opacity:.4}
.portal-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.portal-score-card{padding:24px;border:1px solid #ceddca;border-radius:26px;background:#eaf2df;color:#073b2c}.portal-score-card--1{background:#e0eff5;border-color:#b7d4e4}.portal-score-card--2{background:#fff0d7;border-color:#ebd4a8}.portal-score-card--3{background:#ede5fa;border-color:#d0beea}.portal-score-card small{font-size:12px}.portal-stepper{display:flex;align-items:center;justify-content:center;gap:24px;margin:24px 0}.portal-stepper button{width:56px;height:56px;border-radius:50%;background:#fff;color:#073b2c;border:1px solid #b7c8ad;font-size:30px}.portal-stepper button:disabled{opacity:.4}.portal-strokes{font-size:62px;min-width:90px;text-align:center;font-weight:750;line-height:1.2}.portal-score-state{display:block;padding:12px 0;font-weight:700}.portal-score-card p{font-size:13px;margin:0}.portal-score-actions{display:flex;gap:12px;flex-wrap:wrap}.portal-score-actions .portal-button{flex:1}.portal-score-table{border-collapse:collapse;width:100%;min-width:600px;font-size:14px;margin-bottom:22px}.portal-score-table caption{text-align:left;font-weight:700;padding:12px 0}.portal-score-table th,.portal-score-table td{padding:14px 8px;text-align:center;border-bottom:1px solid #e0e8d8}.portal-score-table th:first-child{text-align:left;white-space:nowrap}.portal-score-table thead{background:#edf4e7}.portal-marker{padding:20px;border:1px solid #d3e6b9;border-radius:22px;background:#f0f8df;margin-bottom:20px}
.portal-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.portal-events-heading{margin:30px 0 18px;font-size:26px;letter-spacing:-.025em}.portal-event{overflow:hidden;min-width:0;border:1px solid #d6e3ce;border-radius:26px;background:#fff}.portal-event-art{height:185px;background-size:cover;background-position:center}.portal-event-copy{padding:24px}.portal-event-copy h2{font-size:27px;line-height:1.1;margin:12px 0}.portal-event-copy p{color:#63766a;font-size:14px}.portal-event-copy .portal-actions{margin-top:20px}.portal-event-grid>.portal-event:nth-child(3n+2){background:#eff7f9}.portal-event-grid>.portal-event:nth-child(3n+3){background:#f5f7e8}.portal-calendar{background:#fff;border:1px solid #d9e4d0;border-radius:28px;padding:clamp(14px,3vw,30px)}.portal-calendar-week,.portal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.portal-calendar-week{text-align:center;color:#6a7d6c;font-size:12px;padding:18px 0}.portal-calendar-day{min-width:0;min-height:70px;aspect-ratio:1.4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f8fbf4;border:1px solid #e2e9dc;border-radius:16px;color:#073b2c;font:inherit;font-weight:650}.portal-calendar-day.outside{opacity:.42}.portal-calendar-day[aria-pressed='true']{background:#c4ff32;opacity:1;border-color:#a4d637}.portal-calendar-dot{width:7px;height:7px;border-radius:50%;background:#1766a5}.portal-calendar-dot.completed{background:#073b2c}.portal-calendar-dot.live{background:#e58b18}.portal-calendar>.portal-notice+div{margin-top:20px}.workbook-matrix{border-collapse:collapse;font-size:13px;white-space:nowrap;width:max-content;min-width:100%}.workbook-matrix caption{text-align:left;padding:12px;font-weight:700}.workbook-matrix th{position:sticky;top:0;background:#eaf2df;z-index:1;padding:10px;border:1px solid #d5dfcb}.workbook-matrix th:first-child{left:0;z-index:2}.workbook-matrix td{min-width:90px;max-width:320px;overflow:hidden;text-overflow:ellipsis;border:1px solid #e0e6d9;padding:10px}.workbook-matrix tr:nth-child(even){background:#f4f8ec}.workbook-table-wrap{max-height:560px;overflow:auto}.portal-source .panel{padding:18px}.portal-source .workbook-select{min-height:44px}.portal-source .workbook-table td{font-size:13px}
@media(max-width:650px){.portal-calendar{padding:14px}.portal-calendar-week,.portal-calendar-grid{gap:6px}.portal-calendar-day{min-height:46px;aspect-ratio:1;border-radius:11px;font-size:13px}.portal-calendar-week{font-size:10px}.portal-calendar .portal-toolbar h2{font-size:20px}.portal-calendar .portal-hole-arrow{width:44px;height:44px}.portal-event-art{height:165px}}
.portal-shell :focus-visible,.portal-form :focus-visible{outline:3px solid #50802a;outline-offset:4px}
.club-login{display:grid;place-items:center;min-height:100svh;padding:30px 16px;background:linear-gradient(90deg,#052e23f5,#052e238a),url('/assets/img/club/sign-in-golfer.png') center 25%/cover;color:#073b2c}
.club-login .login__card{width:min(480px,100%);padding:clamp(24px,5vw,42px);background:#f8faf2f5;border:1px solid #ffffff80;border-radius:30px;box-shadow:0 24px 100px #001c2060;backdrop-filter:blur(12px)}
.club-login .login__title{font-size:40px;line-height:1.05;letter-spacing:-.04em;margin:12px 0 20px}.club-login .stack{display:grid;gap:20px}.club-login .field{display:grid;gap:8px}.club-login .field__label{font-size:13px;font-weight:700}.club-login input{width:100%;min-height:50px;padding:12px 16px;border:1px solid #c9d8c1;border-radius:16px;background:#fff;color:#073b2c;font:inherit;font-size:16px}.club-login p{font-size:14px;line-height:1.6}.club-login .btn{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #c4ff32;background:#c4ff32;color:#073b2c;border-radius:24px;padding:12px;font:inherit;font-weight:700}.club-login .btn--ghost{background:#e7efdc;border-color:#d5e2c9}.club-login .note--danger{background:#fff1e7;color:#8d3524;padding:12px;border-radius:10px;font-size:14px}.club-login .row{display:flex;justify-content:space-between;align-items:center}
@media(max-width:650px){.portal-header{padding:18px 0}.portal-header-actions>a{display:none}.portal-title{padding-top:16px}.portal-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-stats article{padding:16px}.portal-welcome{grid-template-columns:1fr;min-height:310px}.portal-welcome>div{padding:24px;max-width:88%}.portal-welcome img{position:absolute;right:0;width:55%;max-height:none;opacity:.35;mask-image:linear-gradient(90deg,transparent,#000)}.portal-form-grid{grid-template-columns:1fr}.portal-history-card{grid-template-columns:1fr;min-height:0}.portal-history-art{min-height:160px;max-height:180px}.portal-history-card:nth-child(even) .portal-history-art{order:0}.portal-round{align-items:flex-start;flex-direction:column}.portal-profile-hero{padding:20px;gap:14px}.portal-profile-hero h2{font-size:28px}.portal-dock a{padding:12px 8px;font-size:12px}.portal-score-grid{grid-template-columns:1fr}.portal-score-card{padding:20px}.portal-stepper{margin:18px 0}.portal-score-table{font-size:12px}.portal-score-card .portal-member-name h2{font-size:17px}.portal-ledger-row{gap:10px}.portal-ledger-row>strong{white-space:nowrap}}
