:root{--font-display: Archivo, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--font-body: Figtree, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--color-primary: #1a5f3c;--color-primary-light: #2d8a5a;--color-primary-dark: #0f3d26;--color-primary-subtle: #e8f5ee;--color-secondary: #b8860b;--color-secondary-light: #daa520;--color-secondary-dark: #8b6914;--color-secondary-subtle: #fef9e7;--color-accent: #2196f3;--color-accent-light: #64b5f6;--color-accent-dark: #1565c0;--color-positive: #2e7d32;--color-negative: #c62828;--color-info: #0277bd;--color-warning: #ef6c00;--color-score-eagle: #7b1fa2;--color-score-birdie: #e53935;--color-score-par: #424242;--color-score-bogey: #1976d2;--color-score-double: #b71c1c;--color-dark: #1c2526;--color-gray-50: #faf9f7;--color-gray-100: #f5f3f0;--color-gray-200: #e8e5e1;--color-gray-300: #d4d0c8;--color-gray-400: #a8a29e;--color-gray-500: #78716c;--color-gray-600: #57534e;--color-gray-700: #44403c;--color-gray-800: #292524;--color-gray-900: #1c1917;--surface-ground: #faf9f7;--surface-card: #ffffff;--surface-elevated: #ffffff;--shadow-xs: 0 1px 2px rgba(28, 37, 38, .05);--shadow-sm: 0 2px 4px rgba(28, 37, 38, .08);--shadow-md: 0 4px 12px rgba(28, 37, 38, .1);--shadow-lg: 0 8px 24px rgba(28, 37, 38, .12);--shadow-xl: 0 16px 48px rgba(28, 37, 38, .16);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}html{font-size:16px}@media(min-width:1024px){html{font-size:17px}}body{font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6;color:#1c2526;background-color:#faf9f7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,.text-h1,.text-h2,.text-h3,.text-h4,.text-h5,.text-h6{font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700;line-height:1.15;color:#1c2526}.text-h1,h1{font-size:clamp(2.25rem,4vw + 1rem,3.5rem);font-weight:800;letter-spacing:-.03em}.text-h2,h2{font-size:clamp(1.875rem,3vw + .75rem,2.5rem);font-weight:700;letter-spacing:-.02em}.text-h3,h3{font-size:clamp(1.5rem,2vw + .5rem,2rem);font-weight:700;letter-spacing:-.015em}.text-h4,h4{font-size:clamp(1.25rem,1.5vw + .5rem,1.5rem);font-weight:600;letter-spacing:-.01em}.text-h5,h5{font-size:clamp(1.125rem,1vw + .5rem,1.25rem);font-weight:600}.text-h6,h6{font-size:1rem;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600}.text-body1{font-size:1rem;line-height:1.6}.text-body2{font-size:.875rem;line-height:1.5}.text-caption{font-size:.75rem;line-height:1.4;color:#78716c}.q-card{border-radius:14px;box-shadow:0 2px 4px #1c252614;background-color:#fff;border:1px solid rgba(232,229,225,.5)}.q-card:hover{box-shadow:0 4px 12px #1c25261a}.q-btn{font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;border-radius:10px;text-transform:none;letter-spacing:.01em;transition:all .15s cubic-bezier(.4,0,.2,1)}.q-btn:not(.q-btn--flat):not(.q-btn--outline){box-shadow:0 2px 4px #1c252614}.q-btn:not(.q-btn--flat):not(.q-btn--outline):hover{box-shadow:0 4px 12px #1c25261a;transform:translateY(-1px)}.q-btn:not(.q-btn--flat):not(.q-btn--outline):active{transform:translateY(0) scale(.98);box-shadow:0 1px 2px #1c25260d}.q-btn.bg-primary{background:linear-gradient(180deg,#2d8a5a,#1a5f3c)!important}.q-btn.bg-primary:hover{background:linear-gradient(180deg,#1a5f3c,#0f3d26)!important}.q-btn.bg-secondary{background:linear-gradient(180deg,#daa520,#b8860b)!important;color:#fff!important}.q-btn.bg-secondary:hover{background:linear-gradient(180deg,#b8860b,#8b6914)!important}.q-field .q-field__control{border-radius:10px}.q-field .q-field__control:before{border-color:#d4d0c8}.q-field .q-field__control:hover:before{border-color:#1a5f3c}.q-field .q-field__label{font-weight:500;color:#57534e}.q-field.q-field--focused .q-field__control{box-shadow:0 0 0 3px #1a5f3c26}.q-field.q-field--focused .q-field__label{color:#1a5f3c}.q-table{border-radius:14px;overflow:hidden;box-shadow:0 2px 4px #1c252614}.q-table .q-table__card{box-shadow:none}.q-table thead th{font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:#57534e;background-color:#faf9f7}.q-table tbody td{font-size:1rem}@media(max-width:599px){.q-table .q-table__container{overflow-x:auto}.q-table .q-td{white-space:nowrap;min-width:100px}}.q-item{border-radius:10px;margin-bottom:.25rem;min-height:52px;transition:all .15s cubic-bezier(.4,0,.2,1)}.q-item:hover{background-color:#faf9f7}.q-item.q-item--active{background-color:#e8f5ee;color:#1a5f3c}@media(max-width:599px){.q-dialog__inner{padding:.5rem}}.q-notification{border-radius:14px;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;box-shadow:0 8px 24px #1c25261f}.q-chip{font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;border-radius:9999px}.q-badge{font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;border-radius:6px}.glass-card{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(232,229,225,.5);box-shadow:0 4px 12px #1c25261a;border-radius:20px;transition:all .25s cubic-bezier(.4,0,.2,1)}.glass-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #1c25261f}.gradient-fairway{background:linear-gradient(135deg,#1a5f3c,#0f3d26)}.gradient-trophy{background:linear-gradient(135deg,#daa520,#b8860b)}.gradient-sky{background:linear-gradient(135deg,#64b5f6,#2196f3)}.gradient-sunset{background:linear-gradient(135deg,#f59e0b,#ea580c)}.gradient-bg{background:linear-gradient(135deg,#1a5f3c,#0f3d26)}.gradient-primary{background:linear-gradient(135deg,#2d8a5a,#1a5f3c)}.gradient-secondary{background:linear-gradient(135deg,#daa520,#b8860b)}.gradient-accent{background:linear-gradient(135deg,#64b5f6,#2196f3)}.stat-card{position:relative;overflow:hidden;border-radius:20px;padding:1.5rem;background:#fff;box-shadow:0 2px 4px #1c252614;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid #f5f3f0}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1a5f3c,#b8860b)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #1c25261f}.stat-card .stat-icon{width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:1rem}.stat-card .stat-value{font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:.5rem;color:#1c2526}.stat-card .stat-label{font-size:.875rem;font-weight:600;color:#78716c;text-transform:uppercase;letter-spacing:.05em}.modern-card{border-radius:20px;overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #f5f3f0}.modern-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #1c25261f}.dashboard-card{border-radius:20px;box-shadow:0 2px 4px #1c252614;background:#fff;border:1px solid #f5f3f0}@media(max-width:599px){.dashboard-card{margin-bottom:1rem}}.page-header{margin-bottom:2rem}.page-header .page-title{font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(1.75rem,3vw + .5rem,2.5rem);font-weight:800;color:#1c2526;margin-bottom:.5rem;letter-spacing:-.03em}.page-header .page-subtitle{font-size:1.125rem;color:#78716c;font-weight:400}.empty-state{text-align:center;padding:4rem 2rem}.empty-state .empty-icon{font-size:80px;color:#d4d0c8;margin-bottom:1.5rem}.empty-state .empty-title{font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;font-weight:700;color:#1c2526;margin-bottom:.75rem}.empty-state .empty-description{font-size:1rem;color:#78716c;margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.score-eagle{color:#7b1fa2;background-color:#7b1fa21a}.score-birdie{color:#e53935;background-color:#e539351a}.score-par{color:#424242}.score-bogey{color:#1976d2;background-color:#1976d21a}.score-double{color:#b71c1c;background-color:#b71c1c1a}.page-enter-active,.page-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.page-enter-from{opacity:0;transform:translate(20px)}.page-leave-to{opacity:0;transform:translate(-20px)}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .35s cubic-bezier(.4,0,.2,1)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(100%)}.scale-enter-active,.scale-leave-active{transition:all .2s cubic-bezier(.34,1.56,.64,1)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.5)}@keyframes score-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.score-updated{animation:score-pulse .4s cubic-bezier(.34,1.56,.64,1)}@keyframes birdie-glow{0%,to{box-shadow:0 0 #e5393566}50%{box-shadow:0 0 0 8px #e5393500}}.birdie-celebration{animation:birdie-glow .6s ease-out 2}@keyframes eagle-glow{0%,to{box-shadow:0 0 #7b1fa280;transform:scale(1)}25%{transform:scale(1.1)}50%{box-shadow:0 0 0 12px #7b1fa200;transform:scale(1)}}.eagle-celebration{animation:eagle-glow .8s ease-out 2}@keyframes stagger-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-item{animation:stagger-in .3s ease forwards;opacity:0}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.stagger-item:nth-child(9){animation-delay:.45s}.stagger-item:nth-child(10){animation-delay:.5s}.stagger-item:nth-child(11){animation-delay:.55s}.stagger-item:nth-child(12){animation-delay:.6s}.stagger-item:nth-child(13){animation-delay:.65s}.stagger-item:nth-child(14){animation-delay:.7s}.stagger-item:nth-child(15){animation-delay:.75s}.stagger-item:nth-child(16){animation-delay:.8s}.stagger-item:nth-child(17){animation-delay:.85s}.stagger-item:nth-child(18){animation-delay:.9s}.stagger-item:nth-child(19){animation-delay:.95s}.stagger-item:nth-child(20){animation-delay:1s}.btn-press{transition:transform .1s ease}.btn-press:active{transform:scale(.95)}.touch-ripple{position:relative;overflow:hidden}.touch-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0}.touch-ripple:active:after{width:200%;height:200%;opacity:1}@keyframes skeleton-pulse{0%,to{background-color:#e8e5e1}50%{background-color:#f5f3f0}}.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:10px}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.shake{animation:shake .4s ease-in-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.float{animation:float 2s ease-in-out infinite}@media(max-width:599px){.mobile-stack .row>.col-auto{width:100%}.mobile-stack .row>.col-auto .q-btn-group{width:100%}.mobile-stack .row>.col-auto .q-btn-group .q-btn{flex:1}}@media(max-width:599px){.mobile-buttons .q-btn{margin-bottom:.5rem;width:100%;max-width:300px}}.touch-target{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.touch-target-lg{min-width:56px;min-height:56px}@media(max-width:599px){.q-item{padding:1rem;min-height:56px}.q-btn--standard{min-height:48px;padding:.75rem 1.25rem}.q-field .q-field__control{min-height:52px}.q-field .q-field__native{font-size:1.125rem;padding:.75rem}.q-chip{min-height:40px;padding:.5rem 1rem}.q-checkbox__inner,.q-toggle__inner{width:28px;height:28px}}.swipe-hint{position:relative}.swipe-hint:after{content:"";position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#d4d0c8;border-radius:9999px;opacity:.7}.pull-indicator{display:flex;align-items:center;justify-content:center;padding:1rem;color:#78716c}.pull-indicator .q-icon{transition:transform .2s ease}.pull-indicator.pulling .q-icon{transform:rotate(180deg)}.touch-safe-zone{padding:.5rem;margin:-.5rem}.scroll-horizontal{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:.75rem;padding-bottom:.5rem;-ms-overflow-style:none;scrollbar-width:none}.scroll-horizontal::-webkit-scrollbar{display:none}.scroll-horizontal>*{scroll-snap-align:start;flex-shrink:0}.text-primary{color:#1a5f3c!important}.text-primary-light{color:#2d8a5a!important}.text-secondary{color:#b8860b!important}.text-muted{color:#78716c!important}.bg-surface{background-color:#faf9f7!important}.bg-card{background-color:#fff!important}.bg-primary-subtle{background-color:#e8f5ee!important}.bg-secondary-subtle{background-color:#fef9e7!important}.shadow-none{box-shadow:none!important}.shadow-xs{box-shadow:0 1px 2px #1c25260d!important}.shadow-sm{box-shadow:0 2px 4px #1c252614!important}.shadow-md{box-shadow:0 4px 12px #1c25261a!important}.shadow-lg{box-shadow:0 8px 24px #1c25261f!important}.shadow-xl{box-shadow:0 16px 48px #1c252629!important}.rounded-sm{border-radius:6px!important}.rounded-md{border-radius:10px!important}.rounded-lg{border-radius:14px!important}.rounded-xl{border-radius:20px!important}.rounded-full{border-radius:9999px!important}.font-display{font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}.font-body{font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}.font-semibold{font-weight:600!important}.font-bold{font-weight:700!important}@media(prefers-contrast:more){:root{--color-primary: #0d3d1f;--color-gray-500: #4a4a4a}body{color:#000}.q-btn{font-weight:700}}.high-contrast-mode{color:#000!important}.high-contrast-mode .q-card{background:#fff!important;border:2px solid #000!important}.high-contrast-mode .text-caption,.high-contrast-mode .text-subtitle1,.high-contrast-mode .text-subtitle2,.high-contrast-mode .text-body2{font-weight:600!important;color:#000!important}.high-contrast-mode .score-badge{font-weight:800!important;border-width:3px!important}.high-contrast-mode .q-btn{font-weight:700!important;border:2px solid currentColor!important}.high-contrast-mode .q-btn.bg-primary{background:#0d3d1f!important}.high-contrast-mode .q-field .q-field__control{border:2px solid #000!important}.high-contrast-mode .q-field .q-field__label{color:#000!important;font-weight:600!important}.anti-glare{background-color:#f5f3f0!important}.anti-glare .q-card{box-shadow:none;border:1px solid #d4d0c8}.sunlight-mode{--color-primary: #0a4d2a;--color-secondary: #8b6914}.sunlight-mode body,.sunlight-mode .q-item,.sunlight-mode .q-card,.sunlight-mode .q-list{color:#1a1a1a}.sunlight-mode .q-page,.sunlight-mode .q-layout{background-color:#fff!important}.sunlight-mode .score-badge{font-weight:900;text-shadow:0 1px 0 rgba(0,0,0,.3)}.sunlight-mode .q-header{box-shadow:0 2px 8px #0003}.sunlight-mode .text-h6{font-weight:700}.sunlight-mode .text-body1,.sunlight-mode .text-body2{font-weight:500}.large-text-mode{font-size:18px!important}.large-text-mode .text-body1{font-size:1.125rem!important}.large-text-mode .text-body2,.large-text-mode .text-caption{font-size:1rem!important}.large-text-mode .text-h6{font-size:1.375rem!important}.large-text-mode .q-btn{font-size:1.125rem!important;padding:1rem 1.5rem!important}.large-text-mode .score-badge{min-width:32px!important;min-height:32px!important;font-size:18px!important}.q-focusable:focus-visible,.q-btn:focus-visible,.q-item:focus-visible,.q-field:focus-visible{outline:3px solid #1a5f3c;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:0;padding:.75rem 1rem;background:#1a5f3c;color:#fff;z-index:9999}.skip-link:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.scorecard-modern{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 12px #1c25261a}.scorecard-modern .scorecard-header{background:linear-gradient(135deg,#1a5f3c,#0f3d26);color:#fff;font-weight:600}.scorecard-modern .scorecard-header th{padding:.5rem .25rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.scorecard-modern .scorecard-row{transition:background-color .15s cubic-bezier(.4,0,.2,1)}.scorecard-modern .scorecard-row:nth-child(2n){background-color:#faf9f7}.scorecard-modern .scorecard-row:hover{background-color:#e8f5ee}.scorecard-modern .scorecard-row.active{background-color:#1a5f3c1a;border-left:3px solid #1a5f3c}.scorecard-modern .hole-number{background:#1a5f3c;color:#fff;font-weight:700;text-align:center;min-width:40px}.scorecard-modern .hole-par{background:#2d8a5a;color:#fff;font-weight:600;text-align:center}.scorecard-modern .hole-hdcp{background:#f5f3f0;color:#57534e;font-weight:500;text-align:center;font-size:.875rem}.scorecard-modern .total-row{background:#f5f3f0;font-weight:700;border-top:2px solid #d4d0c8}.scorecard-modern .total-row.grand-total{background:linear-gradient(135deg,#fef9e7,#daa520);color:#1c2526}.golf-score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;font-weight:700;font-size:.875rem;transition:all .15s cubic-bezier(.4,0,.2,1);position:relative}.golf-score-badge.eagle{background:linear-gradient(135deg,#7b1fa2,#5c1580);color:#fff;border-radius:50%;box-shadow:0 0 0 3px #b8860b,0 2px 8px #7b1fa266}.golf-score-badge.birdie{background:linear-gradient(135deg,#e53935,#c62828);color:#fff;border-radius:50%;box-shadow:0 2px 4px #e539354d}.golf-score-badge.par{background:#fff;color:#1c2526;border-radius:6px;border:1px solid #d4d0c8}.golf-score-badge.bogey{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border-radius:6px;box-shadow:0 2px 4px #1976d24d}.golf-score-badge.double-plus{background:linear-gradient(135deg,#0d47a1,#0a3370);color:#fff;border-radius:6px;border:2px solid rgba(255,255,255,.4);box-shadow:0 2px 4px #0d47a14d}.golf-score-badge.dnf{opacity:.7}.golf-score-badge.dnf:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:2px;background:#c62828;transform:translate(-50%,-50%) rotate(-45deg)}.golf-score-badge .stroke-indicator{position:absolute;top:-4px;right:-4px;width:10px;height:10px;background:#b8860b;border-radius:50%;border:2px solid white;box-shadow:0 1px 2px #0003}.golf-score-badge .dots-indicator{position:absolute;bottom:-6px;right:50%;transform:translate(50%);display:flex;gap:2px}.golf-score-badge .dots-indicator .dot{width:5px;height:5px;background:#1c2526;border-radius:50%}.hole-selector-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;padding:.75rem}.hole-selector-grid .hole-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:600;font-size:1.125rem;transition:all .15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:2px solid transparent;min-height:48px}.hole-selector-grid .hole-btn.unscored{background:#f5f3f0;color:#57534e}.hole-selector-grid .hole-btn.scored{background:#2e7d32;color:#fff}.hole-selector-grid .hole-btn.current{background:#1a5f3c;color:#fff;border-color:#b8860b;box-shadow:0 0 0 3px #1a5f3c4d}.hole-selector-grid .hole-btn.discrepancy{background:#ef6c00;color:#fff;animation:score-pulse 1s infinite}.hole-selector-grid .hole-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #1c25261a}.hole-selector-grid .hole-btn:active{transform:scale(.98)}
