*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--green-dark:#1a4731;--green-mid:#2d6a4f;--green-light:#52b788;--green-pale:#d8f3dc;--fairway:#40916c;--sand:#f4e4b8;--white:#fff;--gray-100:#f8f9fa;--gray-300:#dee2e6;--gray-600:#6c757d;--text:#1b2a22}body,html{height:100%}body{font-family:Georgia,Times New Roman,serif;background-color:var(--green-pale);color:var(--text);min-height:100vh;flex-direction:column}.site-header,body{display:flex;align-items:center}.site-header{width:100%;background:var(--green-dark);color:var(--white);padding:.875rem 2rem;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.3)}.site-header .logo{font-size:1.3rem;font-weight:700;letter-spacing:.03em;display:flex;align-items:center;gap:.5rem}.site-header .user-info{font-family:system-ui,sans-serif;font-size:.85rem;color:var(--green-pale);display:flex;align-items:center;gap:1rem}.page-wrapper{width:100%;max-width:560px;margin:3rem auto;padding:0 1rem}.card{background:var(--white);border-radius:10px;box-shadow:0 4px 20px rgba(26,71,49,.12);overflow:hidden}.card-header{background:var(--green-mid);color:var(--white);padding:1.5rem 2rem}.card-header h1{font-size:1.6rem;font-weight:700;letter-spacing:.02em}.card-header p{margin-top:.35rem;font-size:.9rem;opacity:.85;font-family:system-ui,sans-serif}.card-body{padding:2rem}.flag-accent{display:inline-block;width:4px;height:1.1em;background:var(--green-light);border-radius:2px;margin-right:.5rem;vertical-align:middle}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-family:system-ui,sans-serif;font-size:.85rem;font-weight:600;color:var(--green-dark);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.form-group input[type=email]{width:100%;padding:.65rem .9rem;font-size:1rem;font-family:system-ui,sans-serif;border:1.5px solid var(--gray-300);border-radius:6px;outline:none;transition:border-color .15s;color:var(--text)}.form-group input[type=email]:focus{border-color:var(--fairway);box-shadow:0 0 0 3px rgba(64,145,108,.15)}.btn{display:inline-block;padding:.65rem 1.5rem;font-size:.95rem;font-family:system-ui,sans-serif;font-weight:600;border:none;border-radius:6px;cursor:pointer;text-decoration:none;transition:background .15s,transform .1s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--fairway);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--green-mid)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--green-pale);border:1px solid rgba(216,243,220,.4);padding:.4rem .9rem;font-size:.82rem}.btn-ghost:hover{background:hsla(0,0%,100%,.1)}.alert{padding:.85rem 1rem;border-radius:6px;font-family:system-ui,sans-serif;font-size:.9rem;margin-bottom:1rem}.alert-success{background:var(--green-pale);border-left:4px solid var(--green-light);color:var(--green-dark)}.alert-error{background:#fdecea;border-left:4px solid #e05252;color:#7b1a1a}.hint{font-family:system-ui,sans-serif;font-size:.82rem;color:var(--gray-600);margin-top:.5rem}.hint code{background:var(--gray-100);padding:.1em .35em;border-radius:3px;font-size:.85em}.placeholder-section{margin-top:1.5rem;padding:1.5rem;background:var(--gray-100);border:2px dashed var(--gray-300);border-radius:8px;text-align:center;font-family:system-ui,sans-serif;color:var(--gray-600);font-size:.9rem}.placeholder-section .placeholder-icon{font-size:2.5rem;margin-bottom:.5rem}.hole-dots{display:flex;gap:6px;justify-content:center;margin:1.5rem 0 0}.hole-dots span{width:8px;height:8px;border-radius:50%;background:var(--green-light);opacity:.5}.hole-dots span:nth-child(3){opacity:1;background:var(--fairway)}.page-wrapper-wide{max-width:900px}.card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.76rem;font-family:system-ui,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-draft{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-300)}.status-open{background:#e3f4eb;color:#1a6b3c;border:1px solid #a8d5b8}.status-live{background:#fff3e0;color:#c45000;border:1px solid #ffc080}.status-complete{background:#e8e4f0;color:#4a3e6e;border:1px solid #c0b0d8}.text-input{width:100%;padding:.65rem .9rem;font-size:1rem;font-family:system-ui,sans-serif;border:1.5px solid var(--gray-300);border-radius:6px;outline:none;color:var(--text);transition:border-color .15s}.text-input:focus{border-color:var(--fairway);box-shadow:0 0 0 3px rgba(64,145,108,.15)}.data-table{width:100%;border-collapse:collapse;font-family:system-ui,sans-serif;font-size:.88rem}.data-table th{text-align:left;padding:.55rem .75rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600);border-bottom:2px solid var(--gray-300)}.data-table td{padding:.65rem .75rem;border-bottom:1px solid var(--gray-100);color:var(--text)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--green-pale)}.row-eliminated td{color:var(--gray-600);opacity:.7}.row-me td{background:#f0faf4}.row-me:hover td{background:#e3f5eb!important}.rank-cell{font-weight:700;color:var(--green-mid)}.section-heading{font-family:system-ui,sans-serif;font-size:.95rem;font-weight:700;color:var(--green-dark);margin-bottom:.85rem;padding-bottom:.4rem;border-bottom:2px solid var(--green-pale);text-transform:uppercase;letter-spacing:.04em}.divider{border:none;border-top:1px solid var(--gray-300);margin:1.5rem 0}.btn-sm{padding:.4rem 1rem;font-size:.85rem}.golfer-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.golfer-input-name{flex:1 1;padding:.55rem .75rem;font-size:.9rem;font-family:system-ui,sans-serif;border:1.5px solid var(--gray-300);border-radius:6px;outline:none;color:var(--text)}.golfer-input-name:focus{border-color:var(--fairway);box-shadow:0 0 0 3px rgba(64,145,108,.15)}.golfer-input-odds{width:80px;padding:.55rem .5rem;font-size:.9rem;font-family:system-ui,sans-serif;border:1.5px solid var(--gray-300);border-radius:6px;outline:none;color:var(--text);text-align:right}.golfer-input-odds:focus{border-color:var(--fairway);box-shadow:0 0 0 3px rgba(64,145,108,.15)}.odds-suffix{font-family:system-ui,sans-serif;font-size:.85rem;color:var(--gray-600)}.btn-remove{background:none;border:none;color:var(--gray-600);cursor:pointer;font-size:.9rem;padding:.3rem .4rem;line-height:1;border-radius:4px}.btn-remove:hover{color:#e05252;background:#fdecea}.btn-add-golfer{color:var(--fairway);border-color:var(--fairway);margin-top:.25rem;font-size:.85rem;padding:.4rem .9rem}.score-input{width:80px;padding:.35rem .5rem;font-size:.9rem;font-family:system-ui,sans-serif;border:1.5px solid var(--gray-300);border-radius:6px;outline:none;text-align:center;color:var(--text)}.score-input:focus{border-color:var(--fairway);box-shadow:0 0 0 3px rgba(64,145,108,.15)}.pick-option{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border:1.5px solid var(--gray-300);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:border-color .12s,background .12s;font-family:system-ui,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pick-option.selected,.pick-option:hover:not(.disabled){border-color:var(--fairway);background:var(--green-pale)}.pick-option.disabled{opacity:.45;cursor:not-allowed}.pick-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--fairway);cursor:pointer;flex-shrink:0}.pick-name{flex:1 1;font-weight:500;color:var(--text)}.pick-odds{font-size:.85rem;color:var(--gray-600)}.odds-counter{font-family:system-ui,sans-serif;font-size:.88rem;padding:.65rem .9rem;background:var(--gray-100);border-radius:6px;color:var(--gray-600)}.odds-counter.valid{color:var(--green-dark);background:var(--green-pale)}.odds-counter.invalid{color:#7b1a1a;background:#fdecea}.competition-card-link{text-decoration:none;color:inherit;display:block;margin-bottom:.75rem}.competition-card{padding:.9rem 1rem;border:1.5px solid var(--gray-300);border-radius:8px;transition:border-color .12s,background .12s}.competition-card:hover{border-color:var(--fairway);background:var(--green-pale)}.competition-card-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-family:system-ui,sans-serif;margin-bottom:.3rem}.competition-card-meta{font-family:system-ui,sans-serif;font-size:.82rem;color:var(--gray-600)}.my-picks-grid{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.my-pick-card{flex:1 1;min-width:120px;padding:.85rem 1rem;background:var(--green-pale);border:1.5px solid var(--green-light);border-radius:8px;font-family:system-ui,sans-serif;text-align:center}.my-pick-card.pick-cut{background:#fdecea;border-color:#f0a0a0;opacity:.7}.my-pick-name{font-weight:600;font-size:.9rem;color:var(--green-dark)}.my-pick-odds{color:var(--gray-600)}.my-pick-odds,.my-pick-score{font-size:.8rem;margin-top:.25rem}.my-pick-score{color:var(--fairway);font-weight:600}.pick-cut-label{font-size:.78rem;color:#e05252;font-weight:700;margin-top:.25rem}.odds-loader-box{background:var(--gray-100);border:1.5px solid var(--gray-300);border-radius:8px;padding:1rem 1.25rem;margin-bottom:.25rem}.odds-loader-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.odds-loader-header strong{font-family:system-ui,sans-serif;font-size:.9rem;color:var(--green-dark)}.sports-list{display:flex;flex-direction:column;gap:.4rem}.sport-option{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;background:var(--white);border:1.5px solid var(--gray-300);border-radius:6px;cursor:pointer;font-family:system-ui,sans-serif;font-size:.88rem;color:var(--text);text-align:left;transition:border-color .12s,background .12s}.sport-option:hover:not(:disabled){border-color:var(--fairway);background:var(--green-pale)}.sport-option:disabled{opacity:.6;cursor:not-allowed}