@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Montserrat:wght@400;500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#0f7d34;--secondary:#a8d5b2;--accent:#f2db76;--dark:#1f3f24;--light:#f4fff7;--surface:#ffffff;--border-radius:10px;--transition:0.3s ease}body{font-family:Playfair Display,Georgia,Times New Roman,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#e6f7eb;color:var(--dark);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,Georgia,serif;font-weight:700}a,button,input,li,p,span{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.navbar{background:var(--primary);padding:0;box-shadow:0 2px 12px rgba(0,0,0,.18);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:inline-flex;align-items:center;gap:.6rem;font-size:1.45rem;font-weight:700;letter-spacing:.4px;color:white;text-decoration:none;transition:transform var(--transition)}.nav-logo:hover{transform:scale(1.04)}.logo-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.nav-menu{list-style:none;gap:2rem}.nav-menu,.nav-menu .nav-item{display:flex;align-items:center}.nav-link{color:white;text-decoration:none;font-weight:500;transition:opacity var(--transition)}.nav-account{position:relative;display:flex;align-items:center}.profile-avatar{width:40px;height:40px;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid rgba(255,255,255,.7);background:rgba(255,255,255,.18);color:white;font-weight:700;cursor:pointer;transition:background var(--transition),transform var(--transition)}.profile-avatar:hover{background:rgba(255,255,255,.28);transform:translateY(-1px)}.profile-dropdown{position:absolute;right:0;top:calc(100% + .5rem);min-width:160px;background:white;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.16);padding:.4rem;display:flex;flex-direction:column;z-index:2000}.profile-dropdown-item{border:none;background:transparent;color:var(--dark);text-align:left;padding:.6rem .75rem;border-radius:8px;text-decoration:none;cursor:pointer;font-size:.95rem}.profile-dropdown-item:hover{background:#f2f7f3}.logout-dropdown{color:#9d1a1a}.mobile-menu-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.8);color:white;border-radius:8px;padding:.45rem .75rem;font-size:1.1rem;line-height:1;cursor:pointer}@media (max-width:768px){.mobile-menu-toggle{display:block}.nav-menu{display:none;flex-direction:column;width:100%;gap:.8rem;padding:.75rem 0;background:rgba(255,255,255,.06);border-radius:8px;margin-top:.5rem}.nav-menu.open{display:flex}.nav-menu .nav-item{width:100%}.nav-account{display:flex;justify-content:center}.profile-dropdown{width:100%;position:static;margin-top:.5rem}.admin-link,.logout-btn,.nav-link{width:100%;padding:.75rem 1rem;border-radius:8px;font-size:1rem;text-align:center}.admin-link:hover,.logout-btn:hover,.nav-link:hover{background:rgba(255,255,255,.18)}.nav-user{width:100%;text-align:center;font-size:.95rem;padding:.5rem 0;background:rgba(255,255,255,.05);border-radius:8px}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:10000}.nav-container{flex-direction:column;align-items:stretch;gap:.5rem}}.nav-link:hover{opacity:.8}.nav-user{color:white;font-weight:500;font-size:.9rem}.logout-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background var(--transition)}.logout-btn:hover{background:rgba(255,255,255,.3)}.admin-link{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:.5rem 1rem}.main-content{padding:2rem}.invite-notice{background-color:var(--accent);color:var(--dark);padding:1rem;border-radius:var(--border-radius);margin:1.5rem 0;text-align:center;border:2px solid var(--primary)}.invite-notice p{margin:.5rem 0;font-size:.9rem}.invite-notice strong{color:var(--primary)}.hero h1{font-size:3rem;margin-bottom:.35rem;color:var(--dark);letter-spacing:.2em}.hero h1,.hero-subtitle{text-transform:uppercase}.hero-subtitle{font-size:1rem;color:#466d49;margin-bottom:1rem;letter-spacing:.08em;font-weight:700}.hero p{font-size:1.1rem;color:#666;margin-bottom:2rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{font-size:1rem}.btn-primary:hover{background-color:#0b6b31;transform:translateY(-2px);box-shadow:0 4px 12px rgba(15,125,52,.3)}.btn-secondary{background-color:#dff4df;color:var(--dark)}.btn-secondary:hover{background-color:#c9e8c8;transform:translateY(-2px);box-shadow:0 4px 12px rgba(78,205,196,.3)}.btn:disabled{opacity:.6;cursor:not-allowed}.auth-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.auth-form{background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:100%;max-width:400px}.auth-form h1{margin-bottom:1.5rem;color:var(--dark)}.auth-form input{width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid #ddd;border-radius:var(--border-radius);font-size:1rem;transition:border-color var(--transition)}.auth-form input:focus{outline:none;border-color:var(--primary)}.auth-form form button{width:100%;padding:.75rem;background-color:var(--primary);color:white;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color var(--transition)}.auth-form form button:hover{background-color:#ff5252}.auth-form p{text-align:center;margin-top:1.5rem;font-size:.9rem}.auth-form a{color:var(--primary);text-decoration:none;font-weight:600}.auth-form a:hover{text-decoration:underline}.error{background-color:#fee;color:#c33;padding:.75rem;border-left:4px solid #c33}.dashboard h1,.stats-grid{margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem;gap:1.5rem}.stat-card{background:white;padding:1.5rem;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1);text-align:center;transition:transform var(--transition)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.stat-card h3{color:#666;font-size:.9rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:2rem;font-weight:700;color:var(--primary)}.dashboard-section{background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1)}.dashboard-section h2{margin-bottom:1rem}.stats-page h1{margin-bottom:2rem}.leaderboard{width:100%;background:white;border-collapse:collapse;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.leaderboard thead{background-color:var(--primary);color:white}.leaderboard td,.leaderboard th{padding:1rem;text-align:left;border-bottom:1px solid #eee}.leaderboard tbody tr:hover{background-color:#f9f9f9}.leaderboard tbody tr:last-child td{border-bottom:none}.leaderboard-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.leaderboard{min-width:640px}@media (max-width:768px){.stats-page,.stats-page h1{padding-inline:.25rem}.stats-page h1{margin-bottom:1.25rem}.leaderboard-table-container{margin-inline:.25rem;border-radius:var(--border-radius)}}.schedule-page h1{margin-bottom:1.5rem}.schedule-page .btn{margin-bottom:2rem}.events-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem}.event-card{background:white;padding:1.5rem;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform var(--transition)}.event-card:hover{transform:translateY(-4px)}.event-card h3{margin-bottom:1rem;color:var(--dark)}.event-card p{margin:.5rem 0;color:#666}.event-card button{width:100%;margin-top:1rem}.messages-page h1{margin-bottom:2rem}.messages-container{background:white;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;display:flex;flex-direction:column;height:500px}.messages-list{flex:1 1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message-bubble{background-color:var(--light);padding:1rem;border-radius:var(--border-radius);max-width:70%}.message-bubble strong{color:var(--primary)}.message-bubble p{margin:.5rem 0}.message-bubble small{color:#999;font-size:.8rem}.message-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #eee}.message-form input{flex:1 1;padding:.75rem;border:1px solid #ddd;border-radius:var(--border-radius);font-size:1rem}.message-form input:focus{outline:none;border-color:var(--primary)}.message-form button{padding:.75rem 1.5rem;background-color:var(--secondary);color:white;border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:background-color var(--transition)}.message-form button:hover{background-color:#45b3aa}.event-form{background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1);max-width:600px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--dark)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:var(--border-radius);font-size:1rem;transition:border-color var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.admin-dashboard{max-width:100%}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.admin-stat-card{background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:white;padding:1.5rem;border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);text-align:center;transition:transform var(--transition)}.admin-stat-card:hover{transform:translateY(-4px)}.admin-stat-card h3{margin-bottom:.5rem;font-size:.9rem;opacity:.9}.admin-actions{background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:2rem}.admin-actions h2{margin-bottom:1rem}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.btn-outline{background-color:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background-color:var(--primary);color:white}.btn-accent{background-color:var(--accent);color:var(--dark)}.btn-accent:hover{background-color:#ffe44d}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all var(--transition);text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:var(--primary);color:white}.btn-primary:hover{background-color:#ff5252;transform:translateY(-1px)}.btn-secondary{background-color:var(--secondary);color:white}.btn-secondary:hover{background-color:#45b3aa;transform:translateY(-1px)}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.invitations-table,.users-table{width:100%;border-collapse:collapse;background:white;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.invitations-table td,.invitations-table th,.users-table td,.users-table th{padding:1rem;text-align:left;border-bottom:1px solid #eee}.invitations-table th,.users-table th{background-color:#f8f9fa;font-weight:600;color:var(--dark)}.invitations-table-container,.users-table-container{overflow-x:auto;margin-top:2rem}.match-form{background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1);max-width:600px;margin:0 auto}.score-inputs{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.membership-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.membership-badge.admin{background-color:var(--primary);color:white}.membership-badge.member{background-color:var(--secondary);color:white}.membership-badge.guest{background-color:#95a5a6;color:white}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.active{background-color:var(--secondary);color:white}.status-badge.used{background-color:#27ae60;color:white}.status-badge.expired{background-color:#e74c3c;color:white}.invitation-code{font-family:monospace;font-weight:600;color:var(--primary)}.create-invitation-form{background:white;padding:2rem;border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:2rem;max-width:600px}.add-match h1,.create-event h1,.manage-invitations h1,.manage-users h1{margin-bottom:2rem;color:var(--dark)}.manage-invitations .header,.manage-users .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.error{color:#e74c3c;background-color:#fdf2f2;border:1px solid #f5c6cb;border-radius:var(--border-radius);padding:1rem;margin-bottom:1rem}.no-invitations,.no-users{text-align:center;color:#666;font-style:italic;margin-top:2rem}@media (max-width:768px){.nav-container{padding:1rem}.nav-menu{gap:1rem}.admin-stats-grid{grid-template-columns:1fr}.action-buttons,.form-actions{flex-direction:column}.score-inputs{grid-template-columns:1fr}.manage-invitations .header,.manage-users .header{flex-direction:column;align-items:flex-start;gap:1rem}}.main-content{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}@media (max-width:1024px){.main-content{padding:1.5rem 1rem}.navbar .nav-container{padding:.75rem 1rem}.nav-menu{gap:.8rem;flex-wrap:wrap;justify-content:center}.hero h1{font-size:2rem}.cta-buttons{flex-direction:column;align-items:stretch}.cta-buttons .btn{width:100%}.add-match,.admin-actions,.create-event,.manage-invitations,.manage-users{padding:1.2rem}}@media (max-width:768px){.main-content{padding:1rem}.hero h1{font-size:1.7rem}.hero p{font-size:1rem}.auth-form,.create-invitation-form,.event-form,.match-form{width:100%;padding:1rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.score-inputs{grid-template-columns:1fr}.invitations-table td,.invitations-table th,.users-table td,.users-table th{padding:.7rem}}.tournament-wizard{max-width:860px;margin:0 auto;padding:2rem 1.5rem}.wizard-header{margin-bottom:2rem}.wizard-header h1{margin-bottom:1.25rem}.wizard-steps{display:flex;gap:0;align-items:stretch;border:1px solid #d4e8d6;border-radius:var(--border-radius);overflow:hidden;background:#f4fff7}.step-indicator{flex:1 1;display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.85rem;color:#7a9e7f;border-right:1px solid #d4e8d6;transition:background var(--transition)}.step-indicator:last-child{border-right:none}.step-indicator.active{background:var(--primary);color:white}.step-indicator.done{background:#e2f5e3;color:var(--primary)}.step-number{font-weight:700;min-width:1.4rem;text-align:center}.step-label{font-weight:600}.wizard-body{background:white;border-radius:var(--border-radius);box-shadow:0 2px 10px rgba(0,0,0,.08);padding:2rem;margin-bottom:1.5rem}.wizard-body h2{margin-bottom:1.25rem}.wizard-nav{display:flex;justify-content:flex-end;gap:1rem}.radio-group{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.radio-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid #d4e8d6;border-radius:var(--border-radius);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.radio-card input[type=radio]{margin-top:2px;accent-color:var(--primary);flex-shrink:0}.radio-card.selected{border-color:var(--primary);background:#edf8ef}.radio-card strong{display:block;margin-bottom:.2rem;color:var(--dark)}.radio-card p{font-size:.82rem;color:#666;margin:0}.team-count-selector{display:flex;gap:.5rem;flex-wrap:wrap}.team-count-btn{width:3rem;height:3rem;border:2px solid #d4e8d6;border-radius:50%;background:#f4fff7;color:var(--dark);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all var(--transition)}.team-count-btn.selected{border-color:var(--primary);background:var(--primary);color:white}.step2-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.team-builder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.team-card{background:#f4fff7;border:1px solid #c8e6c9;border-radius:var(--border-radius);padding:1rem}.team-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.team-name-input{font-family:Playfair Display,Georgia,serif;font-weight:700;color:var(--dark);border:1px solid transparent;border-radius:6px;padding:.2rem .4rem;font-size:.95rem;background:transparent;transition:border-color var(--transition);width:60%}.team-name-input:focus{border-color:var(--primary);outline:none;background:white}.team-avg-dupr{font-size:.78rem;color:#5a7e5e;font-weight:600}.team-player-list{list-style:none;margin-bottom:.75rem}.team-player-item{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px dashed #d4e8d6;font-size:.85rem}.player-badge{display:flex;align-items:center;gap:.25rem}.player-dupr{color:#5a7e5e}.player-guest-tag{color:#999;font-size:.75rem}.remove-player-btn{border:none;background:none;color:#e55;cursor:pointer;font-size:.75rem;padding:.1rem .3rem;border-radius:4px;transition:background var(--transition)}.remove-player-btn:hover{background:#ffe0e0}.add-player-row{display:flex;gap:.5rem;margin-top:.5rem;align-items:center}.select-sm{font-size:.82rem;padding:.35rem .5rem;flex:1 1}.btn-xs{padding:.3rem .6rem;font-size:.78rem;white-space:nowrap}.seed-list{border:1px solid #d4e8d6;border-radius:var(--border-radius);overflow:hidden;margin-bottom:1.5rem}.seed-row{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-bottom:1px solid #eaf4ec;font-size:.9rem}.seed-row:last-child{border-bottom:none}.seed-badge{background:var(--primary);color:white;border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:700;flex-shrink:0}.seed-players{color:#666;font-size:.82rem;flex:1 1}.seed-dupr{color:var(--primary);font-size:.8rem;font-weight:600;flex-shrink:0}.bracket-preview{display:flex;flex-wrap:wrap;gap:1.5rem}.preview-round{flex:1 1;min-width:180px;background:#f4fff7;border:1px solid #d4e8d6;border-radius:var(--border-radius);padding:1rem}.preview-round-name{font-size:.9rem;color:var(--primary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.04em}.preview-match-list{list-style:none}.preview-match-item{font-size:.82rem;padding:.35rem 0;border-bottom:1px dashed #d4e8d6;color:var(--dark)}.preview-match-item:last-child{border-bottom:none}.confirm-summary{border:1px solid #d4e8d6;border-radius:var(--border-radius);overflow:hidden;margin-bottom:1.5rem}.summary-row{display:flex;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #eaf4ec;font-size:.9rem}.summary-row:last-child{border-bottom:none}.summary-label{font-weight:600;color:var(--primary);min-width:120px;flex-shrink:0}.tournament-detail{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.tournament-detail-header{margin-bottom:2rem}.back-link{background:none;border:none;color:var(--primary);cursor:pointer;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;padding:0;margin-bottom:.5rem;display:inline-block}.back-link:hover{text-decoration:underline}.tournament-meta{display:flex;gap:.5rem;align-items:center;font-size:.9rem;color:#666;margin-top:.35rem;flex-wrap:wrap}.meta-sep{color:#ccc}.tournament-section{background:white;border-radius:var(--border-radius);box-shadow:0 2px 10px rgba(0,0,0,.07);padding:1.5rem;margin-bottom:1.5rem}.tournament-section h2{margin-bottom:1.25rem}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.team-info-card{border:1px solid #d4e8d6;border-radius:var(--border-radius);padding:.85rem;background:#f4fff7}.team-info-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.team-info-name{font-weight:700;font-size:.9rem}.team-info-players{list-style:none;font-size:.8rem;color:#555}.bracket-round{margin-bottom:1.5rem}.bracket-round-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:.75rem}.bracket-matches{display:flex;flex-direction:column;gap:.75rem}.match-card{border:1px solid #d4e8d6;border-radius:var(--border-radius);padding:.85rem 1rem;background:#fafffe;transition:box-shadow var(--transition)}.match-card.completed{background:#edf8ef;border-color:#a8d5b2}.match-card.bye{background:#f9f9f9;border-color:#e0e0e0;opacity:.8}.match-teams{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.6rem}.match-team-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:6px;font-size:.88rem}.match-team-row.winner{background:rgba(15,125,52,.1);font-weight:700;color:var(--primary)}.seed-badge-sm{background:#e2f5e3;color:var(--primary);border-radius:4px;padding:.1rem .35rem;font-size:.7rem;font-weight:700;flex-shrink:0}.match-team-name{flex:1 1}.match-score{font-weight:700;font-size:1rem;min-width:1.5rem;text-align:right}.match-bye{display:flex;align-items:center;gap:.75rem;font-size:.88rem;color:#aaa}.bye-badge{background:#e0e0e0;color:#888;border-radius:4px;padding:.1rem .45rem;font-size:.72rem;font-weight:700;text-transform:uppercase}.match-waiting{font-size:.78rem;color:#aaa;font-style:italic;margin-top:.25rem}.match-result-label{font-size:.78rem;color:var(--primary);font-weight:600;margin-top:.25rem}.score-form{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed #cde8cf}.score-inputs{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.score-input-group{display:flex;align-items:center;gap:.4rem}.score-team-label{font-size:.8rem;font-weight:600;color:var(--dark)}.score-input{width:4rem;padding:.3rem .4rem;border:1px solid #c8e6c9;border-radius:6px;font-size:.9rem;text-align:center}.score-input:focus{outline:none;border-color:var(--primary)}.score-vs{font-size:.75rem;color:#aaa}.score-error{color:#e55;font-size:.78rem;margin-top:.3rem}.rr-standings{overflow-x:auto}.standings-table{width:100%;border-collapse:collapse;font-size:.88rem}.standings-table th{background:#edf8ef;color:var(--dark);padding:.65rem .75rem;text-align:left;font-weight:700;border-bottom:2px solid #c8e6c9}.standings-table td{padding:.6rem .75rem;border-bottom:1px solid #eaf4ec}.diff-positive{color:var(--primary);font-weight:600}.diff-negative{color:#c0392b;font-weight:600}.badge{padding:.2rem .65rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-muted{background:#e9ecef;color:#6c757d}.champion-banner{background:linear-gradient(135deg,var(--accent) 0,#ffe885 100%);border:2px solid var(--primary);border-radius:var(--border-radius);padding:1.25rem 1.5rem;text-align:center;font-size:1.15rem;color:var(--dark);margin-top:1.5rem}.error-text,.loading-text{padding:2rem;text-align:center;color:#666}.form-error{background:#fdecea;color:#b71c1c;border:1px solid #f5c6cb;border-radius:var(--border-radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.form-hint{font-size:.8rem;color:#888;margin-top:.3rem}@media (max-width:768px){.radio-group{grid-template-columns:1fr}.bracket-preview{flex-direction:column}.wizard-steps{font-size:.75rem}.step-label{display:none}.tournament-meta{gap:.2rem}.score-inputs,.tournament-meta{flex-direction:column;align-items:flex-start}.score-input-group{width:100%;justify-content:space-between}}