:root{--bg-main: #e4f3f9;--bg-card: #036b8c;--bg-card-soft: #0a7fa5;--text-main: #022b3a;--text-light: #f5f9fc;--text-disabled: #a0a0a0;--accent: #f9b233;--error: #d61341;--gray: #808080;--border-radius-lg: 16px;--border-radius-md: 12px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#015477,#0288a7);color:var(--text-main)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:#015477f5;color:var(--text-light);position:relative}.app-header-right{display:flex;align-items:center;gap:.5rem}.app-header-left{display:flex;align-items:center;gap:1rem}.app-header h1{margin:0;font-size:1.65rem}.app-nav{display:flex;align-items:center;gap:.5rem}.app-nav-link{color:var(--text-light);text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem .8rem;font-size:.9rem}.app-nav-link-contacto{color:var(--text-light);text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem .8rem;font-size:.9rem;margin-top:1rem;display:inline-block}.app-nav-link-btn{background:transparent}.hamburger-btn{display:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--text-light);border-radius:10px;padding:.25rem .6rem;font-size:1.15rem}.user-menu-wrapper{position:relative}.user-name-btn{border:1px solid rgba(255,255,255,.5);background:transparent;color:var(--text-light);border-radius:999px;padding:.5rem .9rem;font-size:.9rem}.user-dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;border-radius:12px;background:#024761;border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 25px #00000038;padding:.35rem;z-index:10}.user-dropdown-link{display:block;width:100%;text-align:left;color:var(--text-light);background:transparent;text-decoration:none;border:none;border-radius:8px;padding:.55rem .65rem;font-size:.9rem}.user-dropdown-link:hover{background:#ffffff1a}.user-dropdown-logout{cursor:pointer}.mobile-nav-panel{position:absolute;left:0;right:0;top:100%;padding:.75rem 1rem 1rem;background:#024c68;border-top:1px solid rgba(255,255,255,.18);z-index:9}.mobile-nav{flex-direction:column;align-items:flex-start}.app-main{flex:1;padding:2rem;background-color:var(--bg-main)}.centered{display:flex;align-items:center;justify-content:center}.card{background:var(--bg-card);color:var(--text-light);border-radius:var(--border-radius-lg);padding:1.75rem;box-shadow:0 18px 30px #0000002e}.form-card{width:100%;max-width:500px}label{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;font-size:.9rem}input,select{border-radius:var(--border-radius-md);border:none;padding:.75rem .85rem;font-size:.95rem}button{border-radius:999px;border:none;padding:.7rem 1.5rem;font-size:.95rem;cursor:pointer}.primary-btn{background-color:var(--accent);color:#1c2228;font-weight:600;width:100%;margin-top:.5rem}.secondary-btn{background-color:transparent;color:var(--text-light);border:1px solid rgba(255,255,255,.6)}.secondary-btn:disabled{background-color:transparent;color:var(--text-disabled);border:1px solid var(--text-disabled)}.link-btn{text-decoration:none;margin-left:.5rem}.muted{font-size:.85rem;margin-top:.75rem;color:#d6e8f2}.muted-gray{color:var(--gray)}.error-text{color:var(--error);margin-top:.25rem;margin-bottom:.25rem;font-size:.85rem}.user-label{margin-right:1rem}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.tournament-card h2{margin-top:0}.tournament-dates{margin:.25rem 0 1rem;font-size:.9rem}.tournament-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}.card-actions{display:flex;justify-content:flex-end;margin-top:1rem}.meta-label{display:block;opacity:.9}.meta-value{font-weight:600;font-size:1.2rem}a{color:var(--accent)}.admin-users-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.admin-users-table-card{grid-column:1 / -1}.admin-users-table-wrapper{overflow-x:auto}.admin-users-table{width:100%;border-collapse:collapse;color:var(--text-light)}.admin-users-table th,.admin-users-table td{border-bottom:1px solid rgba(255,255,255,.2);text-align:left;padding:.5rem}.success-text{color:#005f1e;font-weight:600}.icon-btn{border-radius:8px;border:1px solid rgba(255,255,255,.4);background:transparent;color:var(--text-light);padding:.25rem .55rem;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:999}.modal-card{width:100%;max-width:460px}.modal-card select[multiple]{min-height:120px}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.modal-actions .primary-btn{width:auto;margin-top:0}.tournament-detail-main{display:flex;flex-direction:column;gap:1rem}.tournament-detail-hero{background:linear-gradient(135deg,#025877,#027ba0)}.round-selector{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.round-selector select{max-width:140px}.round-dates{margin:.75rem 0 0;font-size:.9rem}.tournament-regulation-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.25)}.tournament-regulation-section h4{margin:0 0 .5rem}.file-upload-label input[type=file]{margin-top:.35rem}.round-create-form{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.25)}.round-create-form h3{margin-top:0}.round-create-form .secondary-btn{width:auto}.round-title{margin:.25rem 0;color:#00394d}.detail-group-card h3{margin-top:0}.detail-table-wrapper{overflow-x:auto}.detail-round-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;color:var(--text-light)}.detail-round-table th,.detail-round-table td{white-space:nowrap;text-align:center;padding:.55rem .6rem;border-bottom:1px solid rgba(255,255,255,.24)}.detail-round-table th:first-child,.detail-round-table td:first-child{text-align:left;min-width:160px}.results-title{margin-top:1rem}.results-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;color:var(--text-light)}.results-table th,.results-table td{white-space:nowrap;text-align:left;padding:.55rem .6rem;border-bottom:1px solid rgba(255,255,255,.24)}.results-table input{width:80px}.edit-rounds-list{margin:.5rem 0 0;padding-left:1.25rem}.edit-round-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.edit-groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:.75rem}.edit-group-card{border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:.6rem;min-height:120px;background:#ffffff0f}.edit-group-card h4{margin:0 0 .5rem}.edit-group-list{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:.35rem}.edit-group-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#00000026;border-radius:8px;padding:.35rem .45rem;cursor:move}.edit-item-actions{display:flex;gap:.35rem}.snackbar{position:fixed;right:20px;bottom:20px;z-index:1200;max-width:min(90vw,420px);padding:.8rem 1rem;border-radius:10px;color:#fff;box-shadow:0 12px 30px #00000040}.snackbar-error{background:#b4233b}.snackbar-success{background:#1f7a35}@media(max-width:900px){.desktop-nav{display:none}.hamburger-btn{display:inline-flex;align-items:center;justify-content:center}.app-header{padding:.85rem 1rem}.app-header h1{font-size:1.15rem}}
