.layout{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#000;color:#fff}.header h1{font-size:1.25rem;font-weight:600}.header-user{display:flex;align-items:center;gap:1rem}.header-user span{font-size:.875rem}.btn-logout{padding:.5rem 1rem;background:#f28b82;color:#fff;border:none;font-size:.875rem}.main{flex:1;padding:1rem 1rem 5rem;max-width:800px;margin:0 auto;width:100%}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #eee}.bottom-nav a{flex:1;padding:1rem;text-align:center;color:#666;font-size:.875rem;transition:background .2s}.bottom-nav a:hover{background:#f5f5f5}.bottom-nav a.active{color:#000;font-weight:600;border-top:2px solid #000}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:1rem}.login-box{background:#fff;padding:2rem;width:100%;max-width:400px}.login-box h1{font-size:1.5rem;text-align:center;margin-bottom:.5rem}.login-box h2{font-size:1rem;font-weight:400;text-align:center;color:#666;margin-bottom:2rem}.error-message{background:#fee;color:#c00;padding:.75rem;margin-bottom:1rem;font-size:.875rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;font-size:1rem}.form-group input:focus{outline:none;border-color:#000}.btn-primary{width:100%;padding:1rem;background:#000;color:#fff;border:none;font-size:1rem;margin-top:1rem}.btn-primary:disabled{background:#666;cursor:not-allowed}.clickable-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #eee;margin-bottom:.5rem;cursor:pointer;transition:background .2s}.clickable-card:hover{background:#f9f9f9}.card-content{flex:1}.card-title{font-size:1rem;font-weight:600;margin-bottom:.25rem}.card-subtitle{font-size:.875rem;color:#666}.card-arrow{font-size:1.5rem;color:#ccc;margin-left:1rem}.tournaments-page h2{font-size:1.5rem;margin-bottom:1.5rem}.empty-state{text-align:center;padding:2rem;color:#666}.tournament-detail{padding-bottom:2rem}.btn-back{background:none;border:none;padding:.5rem 0;margin-bottom:.5rem;color:#666;cursor:pointer}.tournament-header{margin-bottom:1.5rem}.tournament-header h2{font-size:1.5rem;margin-bottom:.25rem}.tournament-dates{color:#666;font-size:.875rem}.tournament-modality{color:#999;font-size:.75rem;text-transform:uppercase}.admin-actions{display:flex;gap:.5rem;margin-bottom:1.5rem}.btn-manage{flex:1;padding:.75rem;background:#000;color:#fff;border:none}.btn-config{flex:1;padding:.75rem;background:#fff;color:#000;border:1px solid #000}.config-section{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.config-section h3{margin-bottom:1rem}.config-section h4{font-size:.875rem;color:#666;margin:1rem 0 .5rem}.config-group{margin-bottom:1rem}.config-label{display:block;font-size:.875rem;color:#333;margin-bottom:.25rem}.config-row{display:flex;align-items:center;gap:.5rem}.config-input{width:5rem;padding:.5rem;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:1rem}.config-hint{font-size:.75rem;color:#999}.points-config{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.point-row{display:flex;align-items:center;gap:.5rem}.position-label{width:2rem;font-weight:600;text-align:right}.points-input{width:4rem;padding:.5rem;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:1rem}.points-label{color:#666;font-size:.875rem}.btn-remove-pos{background:none;border:none;color:#c00;font-size:1.25rem;cursor:pointer;padding:0 .5rem}.config-actions{display:flex;gap:.5rem}.btn-add-pos{flex:1;padding:.5rem;background:#fff;border:1px dashed #999;color:#666;cursor:pointer}.btn-save-config{flex:1;padding:.5rem;background:#4a7c59;color:#fff;border:none;cursor:pointer}.btn-save-config:disabled{background:#a5d6a7;cursor:not-allowed}.section h3{font-size:1.125rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.standings-note{font-size:.75rem;font-weight:400;color:#999}.h19-bonus{font-size:.75rem;color:#4a7c59}.matches-extra{font-size:.75rem;color:#999}.empty{color:#999;text-align:center;padding:1rem}.standings-table{width:100%;border-collapse:collapse;font-size:.875rem}.standings-table th,.standings-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #eee}.standings-table th{font-weight:600;color:#666}.standings-table tbody tr:first-child td{font-weight:600;background:#f8fbf9}.standings-table tbody tr:nth-child(2) td,.standings-table tbody tr:nth-child(3) td{background:#fafafa}.points-cell{font-weight:600;color:#2d5a3d}.match-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:.75rem;position:relative}.match-card.clickable{cursor:pointer;transition:all .2s ease}.match-card.clickable:hover{border-color:#4a7c59;box-shadow:0 2px 8px #4a7c5926}.match-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.match-card-header h4{font-size:1rem;margin:0;color:#2d5a3d;display:flex;align-items:center;gap:.5rem}.match-card.match-closed{border-color:#4a7c59;background:#f8fbf9}.closed-badge{font-size:.625rem;background:#4a7c59;color:#fff;padding:.125rem .375rem;border-radius:3px;text-transform:uppercase;font-weight:600}.match-date{font-size:.75rem;color:#666}.match-info{font-size:.75rem;color:#999;margin:0}.view-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#4a7c59;opacity:.5;transition:opacity .2s ease}.match-card.clickable:hover .view-arrow{opacity:1}.match-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-scorecard{padding:.5rem .75rem;background:#f5f5f5;border:1px solid #ddd;font-size:.75rem}.btn-scorecard:hover{background:#eee}.btn-my-card{background:#000;color:#fff;border-color:#000}.match-detail{padding:1rem;max-width:800px;margin:0 auto}.btn-back{background:none;border:none;color:#4a7c59;font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1rem}.btn-back:hover{text-decoration:underline}.match-header-panel{background:#f8fbf9;border:1px solid #e0e8e3;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center}.match-header-panel .header-context{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem}.match-header-panel .tournament-name{background:#4a7c59;color:#fff;padding:.2rem .5rem;border-radius:3px;font-weight:500}.match-header-panel .course-name{background:#e8f0eb;color:#2d5a3d;padding:.2rem .5rem;border-radius:3px}.match-header-panel .course-location{background:#e3f2fd;color:#1565c0;padding:.2rem .5rem;border-radius:3px;text-decoration:none;font-weight:500}.match-header-panel .course-location:hover{background:#bbdefb}.match-title-main{margin:0 0 .5rem;color:#2d5a3d;font-size:1.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.closed-badge-large{font-size:.7rem;background:#4a7c59;color:#fff;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;font-weight:600}.match-meta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.match-date{font-size:.9rem;color:#666}.match-info{font-size:.875rem;color:#888}.admin-actions{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f5f5f5;border-radius:8px}.btn-close{padding:.5rem 1rem;background:#4a7c59;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.btn-close:hover:not(:disabled){background:#3d6b4a}.btn-close:disabled{background:#a5d6a7;cursor:not-allowed}.btn-reopen{padding:.5rem 1rem;background:#fff;color:#e65100;border:1px solid #e65100;border-radius:4px;cursor:pointer;font-weight:500}.btn-reopen:hover:not(:disabled){background:#fff3e0}.btn-reopen:disabled{opacity:.5;cursor:not-allowed}.signed-status{font-size:.875rem;color:#666}.error-banner{background:#ffebee;color:#c62828;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.section h3{color:#2d5a3d;border-bottom:2px solid #4a7c59;padding-bottom:.5rem;margin-bottom:1rem}.empty{color:#888;font-style:italic;text-align:center;padding:2rem}.scores-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.scores-table th,.scores-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.scores-table th{background:#4a7c59;color:#fff;font-weight:500}.scores-table tbody tr:hover{background:#f8f9fa}.scores-table tbody tr.current-user{background:#e8f5e9}.scores-table tbody tr.current-user:hover{background:#c8e6c9}.scores-table tbody tr.not-played{opacity:.5;background:#f5f5f5}.scores-table tbody tr.disqualified{background:#ffebee}.scores-table tbody tr.disqualified:hover{background:#ffcdd2}.scores-table tbody tr.disqualified td:first-child{color:#c62828;font-weight:600}.signed-icon{color:#2e7d32;font-weight:700}.keeper-icon{color:#e65100;font-size:.75rem;font-weight:400}.net-score{font-weight:600;color:#2d5a3d}.vs-par{font-size:.75rem;color:#888;margin-left:.25rem}.under-par{color:#c62828;font-weight:700}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.status-badge.signed{background:#c8e6c9;color:#2e7d32}.status-badge.draft{background:#fff3e0;color:#ef6c00}.btn-view{padding:.4rem .8rem;background:#4a7c59;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.actions{display:flex;justify-content:center;padding:1rem 0}.btn-my-scorecard{padding:.75rem 1.5rem;background:#2d5a3d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500}.btn-my-scorecard:hover{background:#1e3d29}.error{color:#c62828}.h19-section{background:#f9f9f9;padding:1rem;border-radius:8px}.h19-section h3{display:flex;align-items:center;gap:.5rem}.saving-indicator{font-size:.75rem;font-weight:400;color:#4a7c59}.h19-hint{font-size:.875rem;color:#666;margin-bottom:1rem}.h19-list{display:flex;flex-wrap:wrap;gap:.75rem}.h19-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s ease}.h19-item:hover{border-color:#4a7c59}.h19-item input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.h19-item input[type=checkbox]:checked+.h19-player-name{color:#2d5a3d;font-weight:500}.h19-player-name{font-size:.875rem;color:#333}.h19-readonly{gap:.5rem}.h19-badge{display:inline-block;padding:.375rem .75rem;background:#4a7c59;color:#fff;border-radius:4px;font-size:.875rem}.flights-section{background:#f8fbf9;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.section-header h3{margin:0;border:none;padding:0}.btn-edit-flights{padding:.375rem .75rem;background:#fff;color:#4a7c59;border:1px solid #4a7c59;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-edit-flights:hover{background:#e8f5e9}.flights-display{display:grid;gap:.75rem}.flight-card{background:#fff;border:1px solid #e0e8e3;border-radius:6px;padding:.75rem 1rem}.flight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem}.flight-time{font-weight:600;color:#2d5a3d}.flight-hole{color:#666;background:#f5f5f5;padding:.125rem .5rem;border-radius:3px;font-size:.75rem}.flight-players{display:flex;flex-wrap:wrap;gap:.5rem}.flight-player{background:#e8f0eb;color:#2d5a3d;padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.flights-editor{display:flex;flex-direction:column;gap:1rem}.flight-edit-card{background:#fff;border:1px solid #ddd;border-radius:6px;padding:1rem}.flight-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.flight-number{font-weight:600;color:#2d5a3d}.btn-remove-flight{background:none;border:none;color:#c62828;font-size:1.25rem;cursor:pointer;padding:0 .25rem}.flight-edit-row{display:flex;gap:1rem;margin-bottom:.75rem}.flight-edit-row label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666}.flight-edit-row input[type=number]{width:4rem;padding:.375rem;border:1px solid #ddd;border-radius:4px;text-align:center}.flight-edit-row input[type=time]{padding:.375rem;border:1px solid #ddd;border-radius:4px}.flight-players-select{display:flex;flex-direction:column;gap:.5rem}.flight-players-select .label{font-size:.875rem;color:#666}.player-chips{display:flex;flex-wrap:wrap;gap:.5rem}.player-chip{padding:.375rem .75rem;background:#f5f5f5;border:1px solid #ddd;border-radius:20px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.player-chip:hover{background:#e8f5e9;border-color:#4a7c59}.player-chip.selected{background:#4a7c59;color:#fff;border-color:#4a7c59}.flights-editor-actions{display:flex;gap:.75rem;margin-top:.5rem}.btn-add-flight{flex:1;padding:.5rem;background:#fff;border:1px dashed #4a7c59;color:#4a7c59;border-radius:4px;cursor:pointer}.btn-add-flight:hover{background:#e8f5e9}.btn-save-flights{flex:1;padding:.5rem;background:#4a7c59;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.btn-save-flights:hover:not(:disabled){background:#3d6b4a}.btn-save-flights:disabled{background:#a5d6a7;cursor:not-allowed}.handicap-input{width:3rem;margin-left:.5rem;text-align:center;border:1px solid #bbb;border-radius:4px;font-size:1rem;padding:.2rem .3rem}.handicap-input:disabled{background:#f5f5f5;color:#888}.scorecard-page{padding-bottom:2rem}.connection-status{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;font-size:.75rem;font-weight:500;transition:all .3s ease}.connection-status.online{background:transparent;min-height:0;padding:0}.connection-status.online:has(.status-text),.connection-status.online:has(.pending-badge){background:#e3f2fd;padding:.5rem}.connection-status.offline{background:#ffebee;color:#c62828}.connection-status.offline:before{content:"";width:8px;height:8px;background:#c62828;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.status-text{color:inherit}.status-text.syncing,.status-text.saving{color:#1565c0}.status-text.saved{color:#2e7d32}.status-text.saved:before{content:"✓ "}.status-text.queued{color:#e65100}.status-text.queued:before{content:"⏳ "}.status-text.offline{color:#c62828}.pending-badge{background:#ff9800;color:#fff;padding:.125rem .5rem;border-radius:10px;font-size:.7rem}.connection-status.online.has-message{background:#e3f2fd;padding:.5rem}.btn-back{background:none;border:none;padding:.5rem 0;margin-bottom:.5rem;color:#666}.scorecard-header-panel{background:#f8fbf9;border:1px solid #e0e8e3;border-radius:8px;padding:1rem;margin-bottom:1rem}.header-context{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;font-size:.75rem}.tournament-name{background:#4a7c59;color:#fff;padding:.2rem .5rem;border-radius:3px;font-weight:500}.match-name{background:#2d5a3d;color:#fff;padding:.2rem .5rem;border-radius:3px}.course-name{background:#e8f0eb;color:#2d5a3d;padding:.2rem .5rem;border-radius:3px}.player-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.player-name{font-size:1.25rem;margin:0;color:#222}.keeper-badge{background:#fff3e0;color:#e65100;padding:.5rem .75rem;margin-top:.75rem;font-size:.8rem;border-radius:4px}.signed-badge{background:#e8f5e9;color:#2e7d32;padding:.5rem .75rem;margin-top:.5rem;font-size:.8rem;border-radius:4px}.scorecard-grid{border:1px solid #ddd;margin-bottom:1rem}.grid-header{display:grid;grid-template-columns:1fr 1fr 2fr;background:#f5f5f5;padding:.75rem;font-weight:600;font-size:.875rem}.grid-row{display:grid;grid-template-columns:1fr 1fr 2fr;padding:.5rem .75rem;border-top:1px solid #eee;align-items:center}.grid-row:nth-child(odd){background:#fafafa}.grid-row.not-played{opacity:.6}.grid-row.played{background:#e8f5e9}.grid-row.played:nth-child(odd){background:#c8e6c9}.grid-row.in-play{background:#fff3e0;border-left:3px solid #ff9800}.grid-row.in-play:nth-child(odd){background:#ffe0b2}.hole-number{font-weight:500}.hole-par{color:#666}.player-info{color:#888;font-size:.875rem;margin-bottom:1rem}.handicap-section{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.handicap-label{color:#888}.handicap-controls{display:flex;align-items:center;gap:.25rem}.hcp-btn{width:1.75rem;height:1.75rem;border-radius:50%;border:none;background:#222;color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.hcp-btn:disabled{background:#ccc;cursor:not-allowed}.handicap-value{font-weight:600;min-width:1.5rem;text-align:center}.handicap-modified{color:#999;font-size:.75rem}.stats-section{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem;padding:1rem;background:#f5f5f5;border-radius:8px}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-label{font-size:.7rem;color:#666;text-transform:uppercase;margin-bottom:.25rem}.stat-value{font-size:1.25rem;font-weight:700}.stat-value.position{color:#4caf50}.stat-value.under-par{color:#f44336}.score-controls{display:flex;align-items:center;justify-content:center;gap:.5rem}.score-btn{width:2rem;height:2rem;border-radius:50%;border:none;background:#222;color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.score-btn:disabled{background:#ccc;color:#888;cursor:not-allowed}.score-value{min-width:2rem;text-align:center;font-size:1.1rem;font-weight:600}.score-value.placeholder{color:#999;font-weight:400}.btn-finish-hole{background:#ff9800;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;margin-left:.5rem}.btn-finish-hole:hover{background:#f57c00}.btn-clear-hole{position:relative;width:1.5rem;height:1.5rem;border:none;background:transparent;cursor:pointer;margin-left:.25rem;padding:0;display:flex;align-items:center;justify-content:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.btn-clear-hole .clear-x{position:absolute;font-size:.875rem;color:#999;font-weight:600;line-height:1;transition:color .2s}.btn-clear-hole:hover .clear-x,.btn-clear-hole.clearing .clear-x{color:#c62828}.btn-clear-hole .clear-progress-ring{position:absolute;width:100%;height:100%;transform:rotate(-90deg)}.btn-clear-hole .clear-progress-bg{stroke:#ddd}.btn-clear-hole .clear-progress-fill{stroke:#c62828;transition:stroke-dashoffset .05s linear}.btn-clear-hole.clearing{transform:scale(1.1)}.grid-total{display:grid;grid-template-columns:1fr 1fr 2fr;padding:.75rem;border-top:2px solid #ddd;font-weight:600;background:#f5f5f5}.actions{display:flex;flex-direction:column;gap:.75rem}.btn-save{width:100%;padding:1rem;background:#000;color:#fff;border:none;font-size:1rem}.btn-sign{width:100%;padding:1rem;background:#4caf50;color:#fff;border:none;font-size:1rem}.btn-sign:disabled{background:#a5d6a7;cursor:not-allowed}.btn-unsign{width:100%;padding:1rem;background:#ff9800;color:#fff;border:none;font-size:1rem}.profile-page h2{font-size:1.5rem;margin-bottom:1.5rem}.profile-page .form-group{margin-bottom:1rem}.profile-page label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.profile-page input{width:100%;padding:.75rem;border:1px solid #ddd;font-size:1rem}.profile-page input:focus{outline:none;border-color:#000}.profile-page input:disabled{background:#f5f5f5;color:#666}.success-message{background:#e8f5e9;color:#2e7d32;padding:.75rem;margin-bottom:1rem}.btn-save{width:100%;padding:1rem;background:#000;color:#fff;border:none;font-size:1rem;margin-top:1rem}.admin-panel h2{font-size:1.5rem;margin-bottom:1.5rem}.admin-cards,.section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.create-form input,.create-form select{padding:.75rem;border:1px solid #ddd;font-size:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.tournament-meta{font-size:.75rem;color:#999;margin-top:.25rem}.btn-edit{background:#1976d2;color:#fff;border:none;padding:.3rem .7rem;border-radius:4px;cursor:pointer;font-size:.95rem;margin-left:.5rem}.edit-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.edit-modal-content{background:#fff;padding:2rem;border-radius:8px;min-width:320px;box-shadow:0 2px 16px #00000026}.edit-form input{display:block;width:100%;margin-bottom:1rem;padding:.5rem;font-size:1rem}.edit-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.btn-save{background:#4a7c59;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.btn-save:disabled{background:#a5d6a7;cursor:not-allowed}.btn-cancel{background:#fff;color:#666;border:1px solid #ccc;padding:.6rem 1.25rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#999}.users-page{padding-bottom:2rem}.btn-add{padding:.5rem 1rem;background:#4a7c59;color:#fff;border:none;font-size:.875rem;border-radius:4px;cursor:pointer}.create-form{background:#f9f9f9;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.create-form input{padding:.75rem;border:1px solid #ddd;font-size:1rem}.hint{font-size:.75rem;color:#666}.btn-create{padding:.75rem;background:#4a7c59;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.users-table{width:100%;border-collapse:collapse;font-size:.875rem}.users-table th,.users-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #eee}.users-table th{font-weight:600;color:#666;background:#f5f5f5}.role-badge,.status-badge{padding:.25rem .5rem;border:none;font-size:.75rem;cursor:pointer}.role-badge.admin{background:#e3f2fd;color:#1976d2}.role-badge.user{background:#f5f5f5;color:#666}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#c62828}.courses-page{padding-bottom:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-header h2{font-size:1.5rem}.course-form{background:#f9f9f9;padding:1rem;margin-bottom:1.5rem}.course-form h3{font-size:1rem;margin-bottom:1rem}.course-form input[type=text],.course-form input[type=url]{width:100%;padding:.75rem;border:1px solid #ddd;font-size:1rem;margin-bottom:.75rem}.form-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.form-row label{font-size:.875rem;font-weight:500}.form-row input{width:80px;padding:.5rem;border:1px solid #ddd;text-align:center}.par-values{margin-bottom:1rem}.par-values label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.par-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.par-input{display:flex;flex-direction:column;align-items:center;gap:.25rem}.par-input span{font-size:.75rem;color:#666}.par-input input{width:100%;padding:.5rem;border:1px solid #ddd;text-align:center;font-size:.875rem}.form-actions{display:flex;gap:.75rem}.btn-cancel{flex:1;padding:.75rem;background:#f5f5f5;border:1px solid #ddd}.btn-save{flex:1;padding:.75rem;background:#000;color:#fff;border:none}.btn-save:disabled{background:#666}.courses-table{width:100%;border-collapse:collapse;font-size:.875rem}.courses-table th,.courses-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #eee}.courses-table th{font-weight:600;color:#666;background:#f5f5f5}.btn-edit,.btn-delete{padding:.25rem .5rem;border:none;font-size:.75rem;margin-right:.5rem;cursor:pointer}.btn-edit{background:#e3f2fd;color:#1976d2}.btn-delete{background:#ffebee;color:#c62828}.empty{text-align:center;color:#999;padding:2rem!important}.loading{text-align:center;padding:2rem;color:#666}.location-link{color:#1976d2;text-decoration:none;font-size:.75rem;padding:.25rem .5rem;background:#e3f2fd;border-radius:4px}.location-link:hover{background:#bbdefb}.no-location{color:#999}.manage-matches{padding-bottom:2rem}.btn-back{background:none;border:none;padding:.5rem 0;margin-bottom:1rem;color:#666}.manage-matches h2{font-size:1.5rem;margin-bottom:1.5rem}.section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.section-header h3{font-size:1.125rem}.btn-add{padding:.5rem 1rem;background:#000;color:#fff;border:none;font-size:.875rem}.invite-form{margin-bottom:1rem}.invite-form select{width:100%;padding:.75rem;border:1px solid #ddd;font-size:1rem}.players-list{display:flex;flex-direction:column;gap:.5rem}.player-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9f9f9;border:1px solid #eee}.btn-remove{padding:.25rem .5rem;background:#ffebee;color:#c62828;border:none;font-size:.75rem}.match-form{background:#f9f9f9;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.match-form input,.match-form select{padding:.75rem;border:1px solid #ddd;font-size:1rem}.form-row{display:flex;align-items:center;gap:1rem}.form-row label{font-size:.875rem;white-space:nowrap}.form-row input{width:100px}.btn-create{padding:.75rem;background:#000;color:#fff;border:none}.btn-create:disabled{background:#666}.matches-list{display:flex;flex-direction:column;gap:.75rem}.match-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #eee}.match-info{display:flex;flex-direction:column;gap:.25rem}.match-info strong{font-size:1rem}.match-info span{font-size:.75rem;color:#666}.match-actions{display:flex;gap:.5rem}.btn-calculate{padding:.5rem .75rem;background:#e8f5e9;color:#2e7d32;border:none;font-size:.75rem}.btn-delete{padding:.5rem .75rem;background:#ffebee;color:#c62828;border:none;font-size:.75rem}.empty{text-align:center;color:#999;padding:1rem}.loading,.error{text-align:center;padding:2rem;color:#666}.error{color:#c00}.btn-delete{background:#fff;color:#c62828;border:1px solid #c62828;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-delete:hover{background:#ffebee}.manage-tournaments-page{padding-bottom:2rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.btn-add{background:#4a7c59;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem}.btn-add:hover{background:#3d6b4a}.create-form{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.create-form input,.create-form select{display:block;width:100%;margin-bottom:1rem;padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.btn-create{background:#4a7c59;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.btn-create:hover{background:#3d6b4a}.btn-create:disabled{background:#a5d6a7;cursor:not-allowed}.tournaments-table{width:100%;border-collapse:collapse;margin-top:1.5rem}.tournaments-table th,.tournaments-table td{border:1px solid #ddd;padding:.75rem;text-align:left}.tournaments-table th{background:#f5f5f5}.action-buttons{display:flex;gap:.5rem}.btn-view{background:#4a7c59;color:#fff;border:none;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-view:hover{background:#3d6b4a}.error-message{background:#fee;color:#c00;padding:.75rem;margin-bottom:1rem}.btn-back{background:none;border:none;padding:.5rem 0;margin-bottom:1rem;color:#666;cursor:pointer}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#fff;color:#333;line-height:1.5}button{cursor:pointer}a{color:inherit;text-decoration:none}input,select,textarea{font-family:inherit;font-size:inherit}
