*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #3b82f6;--secondary-hover: #2563eb;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--bg-color: #f8fafc;--surface-color: #ffffff;--border-color: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width: 768px){body{font-size:14px}}.container{max-width:1200px;margin:0 auto;padding:1rem}@media (max-width: 768px){.container{padding:.75rem}}.card{background:var(--surface-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem;margin-bottom:1rem}@media (max-width: 768px){.card{padding:1rem}}.button{display:inline-block;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center}.button:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:not-allowed}.button-secondary{background:var(--secondary-color)}.button-secondary:hover:not(:disabled){background:var(--secondary-hover)}.button-small{padding:.5rem 1rem;font-size:.875rem}.input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:border-color .2s}.input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:1rem;background:#fff;cursor:pointer}.label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group{margin-bottom:1.5rem}.error-message{color:var(--danger-color);font-size:.875rem;margin-top:.5rem}.success-message{color:var(--success-color);font-size:.875rem;margin-top:.5rem}.title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary)}@media (max-width: 768px){.title{font-size:1.5rem}}.subtitle{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}@media (max-width: 768px){.subtitle{font-size:1.125rem}}.match-input-card{border:1px solid var(--border-color);padding:1rem}.match-input-court{margin-bottom:.75rem;font-size:1.125rem}.match-input-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-bottom:1rem}.match-input-team{display:flex;flex-direction:column;align-items:center;gap:.5rem}.match-input-names{display:flex;flex-direction:column;gap:.25rem;white-space:pre-line;min-height:2.75rem;justify-content:center;text-align:center}.match-input-name{font-size:.875rem;font-weight:500}.match-input-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.match-input-vs{font-size:1.25rem;font-weight:600;color:var(--text-secondary);align-self:center}@media (max-width: 375px){.match-input-grid{gap:.5rem}.match-input-card{padding:.75rem}}.login-container{max-width:420px;margin-left:auto;margin-right:auto;padding:2rem 1rem;min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:100%;text-align:center;padding:2rem 1.5rem}.login-title{margin-bottom:.5rem}.login-description{color:var(--text-secondary);font-size:.9375rem;margin-bottom:2rem}.login-form{margin-top:0}.login-form .form-group{margin-bottom:1.25rem;text-align:left}.login-form .button{margin-top:.25rem}@media (max-width: 375px){.login-container{padding:1.5rem .75rem}.login-card{padding:1.5rem 1rem}}.tournament-detail-container{margin-top:1rem;display:flex;justify-content:center}.tournament-detail-card{width:100%;max-width:800px}.tournament-detail-title{text-align:center}.tournament-detail-standings-wrap{margin-bottom:1rem;display:flex;justify-content:center}.tournament-detail-rounds-wrap{margin-bottom:2rem}.tournament-detail-subtitle{text-align:center}@media (max-width: 640px){.tournament-detail-standings-wrap .button{width:100%;max-width:280px}.tournament-detail-container .round-buttons-wrap{flex-wrap:nowrap;justify-content:flex-start}}.tournament-detail-admin-section{text-align:center;margin-bottom:1.5rem}.tournament-detail-meta{margin-bottom:1rem}.tournament-detail-visibility-card{display:inline-block;text-align:center;margin:0 auto 1.5rem;padding:1rem 1.25rem;background-color:var(--bg-color);border-radius:var(--radius)}.tournament-detail-visibility-card .subtitle{margin-bottom:.75rem}.tournament-detail-visibility-card .visibility-radios{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}@media (max-width: 640px){.tournament-detail-admin-section{display:flex;flex-direction:column;align-items:center}.tournament-detail-meta{text-align:center}}
