:root{--color-bg: #f6f8f9;--color-surface: #ffffff;--color-text: #263140;--color-muted: #76818d;--color-primary: #2d2958;--color-primary-dark: #201c40;--color-primary-contrast: #ffffff;--color-accent: #73caea;--color-accent-contrast: #1a2a33;--color-danger: #c50808;--color-success: #0b873c;--color-border: #e2e5e8;--font-display: "Bebas Neue", Arial, sans-serif;--font-body: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 10px;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: 1rem;--spacing-4: 1.5rem;--spacing-5: 2rem}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text)}a{color:var(--color-primary)}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;line-height:1.15;text-transform:uppercase}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--color-primary);border-bottom:3px solid var(--color-accent)}.app-nav__brand{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.04em;color:#fff;margin-right:auto;text-transform:uppercase}.app-nav__links{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.app-nav a{text-decoration:none;color:#ffffffbf;font-weight:500;font-size:.9rem;letter-spacing:.01em;padding:var(--spacing-1) 0;border-bottom:2px solid transparent}.app-nav a:hover{color:#fff}.app-nav a.active,.app-nav a[aria-current=page]{color:#fff;font-weight:600;border-bottom-color:var(--color-accent)}.app-nav button{margin-left:auto;background:transparent;border-color:#fff6;color:#fff}.app-nav button:hover{border-color:#fff}.app-content{flex:1;width:100%;max-width:860px;margin:0 auto;padding:var(--spacing-4) var(--spacing-3)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-4);box-shadow:0 1px 3px #2d29580f}.card+.card{margin-top:var(--spacing-4)}.form{display:flex;flex-direction:column;gap:var(--spacing-3)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-1)}.form-field label{font-weight:600;font-size:.9rem}.form-field input,.form-field select{padding:var(--spacing-2);border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem}.radio-group{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.radio-group label{display:flex;align-items:center;gap:var(--spacing-1);font-weight:400}.field-error{color:var(--color-danger);font-size:.85rem}.form-message{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius);font-size:.9rem}.form-message--error{background:#fdecea;color:var(--color-danger)}.form-message--success{background:#e6f4ea;color:#1e7e34}button{cursor:pointer;font-size:.95rem;font-weight:600;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);transition:background-color .15s ease,border-color .15s ease}button:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:transparent;color:var(--color-primary)}button.secondary:hover:not(:disabled){background:var(--color-bg)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--spacing-2);border-bottom:1px solid var(--color-border);font-size:.9rem}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-3)}@media (min-width: 640px){.stat-grid{grid-template-columns:repeat(3,1fr)}}.stat-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-3);text-align:center}.stat-tile__value{font-family:var(--font-display);font-size:2rem;color:var(--color-primary)}.stat-tile__label{color:var(--color-muted);font-size:.8rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--color-primary);color:var(--color-primary-contrast);font-size:.75rem;font-weight:600}.page-loading,.page-forbidden{padding:var(--spacing-4)}.dashboard-hero{--dashboard-hero-image: none;background-image:linear-gradient(135deg,#2d2958e0,#201c40e0),var(--dashboard-hero-image);background-size:cover;background-position:center;color:#fff;border-radius:var(--radius);padding:var(--spacing-5) var(--spacing-4);margin-bottom:var(--spacing-4)}.dashboard-hero h1{margin:0 0 var(--spacing-1);font-size:2.25rem}.dashboard-hero p{margin:0;color:#fffc;font-family:var(--font-body)}.dashboard-section{margin-bottom:var(--spacing-5)}.dashboard-section h2{font-size:1.4rem;color:var(--color-primary);margin-bottom:var(--spacing-3)}.dashboard-tournament-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.dashboard-tournament-item{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius);padding:var(--spacing-3);text-decoration:none;color:var(--color-text)}.dashboard-tournament-item:hover{border-left-color:var(--color-primary)}.dashboard-tournament-item__date{font-family:var(--font-display);font-size:1.1rem;color:var(--color-primary);min-width:4.5rem}.dashboard-tournament-item__info{flex:1}.dashboard-tournament-item__info strong{display:block}.dashboard-tournament-item__info span{color:var(--color-muted);font-size:.85rem}.dashboard-quicklinks{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.dashboard-quicklinks a{text-decoration:none}.badge--accent{background:var(--color-accent);color:var(--color-accent-contrast)}
