.q-hero{background:radial-gradient(ellipse at 80% 5%,#1b8a57 0,transparent 46%),linear-gradient(115deg,#061d17,#0b4633);color:#fff;padding:52px 0 48px;overflow:hidden}.q-hero>.wrap{display:flex;justify-content:space-between;align-items:center;gap:32px}.q-eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:#a5e7bd}.q-hero h1{font-size:clamp(42px,6vw,80px);line-height:1;margin:18px 0;font-weight:950;letter-spacing:-.04em}.q-hero h1 em{color:#f147a5;font-style:normal}.q-hero p{color:#e0eee8;font-size:18px}.q-hero-ticket{background:#fffef5;color:#063a28;transform:rotate(5deg);padding:24px;min-width:270px;border-radius:4px 4px 18px 18px;box-shadow:14px 20px 0 #0003;border-top:9px solid #f147a5}.q-hero-ticket>b{letter-spacing:.14em;font-size:13px}.q-hero-ticket>div{display:flex;gap:12px;margin:18px 0}.q-hero-ticket>div span{border:2px solid #d5dfd6;padding:8px 20px;font-size:36px;font-weight:900}.q-hero-ticket .marked{color:#fff;background:#d41580;border-color:#d41580}.q-page{padding-top:26px;padding-bottom:60px;color:#10251b}.q-toolbar{display:flex;align-items:center;gap:24px;justify-content:space-between;border-bottom:1px solid #d4e3da;padding-bottom:22px}.q-toolbar label{font-size:18px;font-weight:900;color:#bd0063;display:flex;align-items:center;gap:12px}.q-toolbar select{padding:10px 18px;border:1px solid #aec6b9;border-radius:10px;background:#fff;color:#113f2c}.q-toolbar>div{display:grid;gap:7px}.q-toolbar span,.q-source,.q-fine{font-size:12px;color:#4d6357}.q-toolbar b{font-size:15px}.q-notices{font-size:13px;color:#4a6355;margin:15px 0 22px}.q-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:9px;padding:13px 20px;background:#d71984;color:#fff!important;font-family:inherit;font-weight:800;font-size:12px;line-height:1.3;letter-spacing:.04em;text-decoration:none;cursor:pointer}.q-button.secondary{background:#e4eee7;color:#123c29!important}.q-button:disabled{opacity:.45;cursor:not-allowed}.q-button:focus-visible,.q-cell:focus-within{outline:3px solid #f2b900;outline-offset:3px}.q-public-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:30px}.q-result-board,.q-my-ticket,.q-login,.q-explainer,.q-winner{background:#fff;border:1px solid #d7e3db;border-radius:18px;box-shadow:0 7px 25px #042b0b08;overflow:hidden}.q-board-heading{display:flex;justify-content:space-between;align-items:center;background:#0d4b31;color:#fff;padding:18px}.q-board-heading span{font-size:11px;letter-spacing:.1em}.q-board-heading b{font-size:20px}.q-source{padding:0 18px 18px;line-height:1.6}.q-table-wrap{width:100%;overflow-x:auto}.q-ticket{width:100%;border-collapse:collapse;font-size:12px;background:#fff;color:#142e20;margin:0}.q-ticket caption{text-align:left;font-size:11px;font-weight:800;padding:13px 14px;color:#577463}.q-ticket thead{background:#edf4ee;font-size:11px;color:#496353}.q-ticket th,.q-ticket td{padding:8px 5px;border-bottom:1px solid #e6ede6;text-align:center;vertical-align:middle}.q-ticket th:nth-child(2){text-align:left;max-width:220px}.q-ticket th>span{display:block;line-height:1.45}.q-ticket th>span+span{font-weight:500;color:#587462}.q-ticket td:first-child{color:#789386;font-size:11px;width:22px}.q-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:36px;border:1px solid #d1ded4;border-radius:5px;color:#718777;font-weight:800;box-sizing:border-box}.q-cell input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.q-cell.chosen{background:#d71984;border-color:#d71984;color:#fff}.q-cell.hit{background:#096b3d;border-color:#096b3d;color:#fff}.q-result{display:inline-grid;place-items:center;width:28px;height:30px;color:#778d7f}.q-result.has-result{background:#e2f2e6;color:#086934;border-radius:5px}.q-ticket td small{display:block;font-size:9px}.q-void{opacity:.6;background:#f0f2ef}.q-my-ticket{padding:24px}.q-my-heading{display:flex;align-items:center;gap:14px}.q-my-heading h2{font-size:26px;margin:5px 0}.q-my-heading span{font-size:10px;letter-spacing:.12em;color:#537c61;font-weight:900}.q-text-button{margin-left:auto;color:#22633e;background:#f1f6f2;border:0;padding:10px;border-radius:8px;cursor:pointer}.q-small-avatar{width:48px!important;height:58px!important;object-fit:cover;border-radius:9px;flex-shrink:0}.q-ticket-status{background:#eef6ef;color:#1c5735;padding:12px 16px;border-left:4px solid #328b4c;border-radius:6px;margin:16px 0;font-size:13px}.q-privacy{display:flex!important;align-items:center;gap:10px;font-size:13px;margin:20px 0}.q-privacy input{width:18px;height:18px;accent-color:#ca1580}.q-actions{display:flex;gap:12px;flex-wrap:wrap}.q-fine{line-height:1.7}.q-login{padding:26px;max-width:780px;margin:auto}.q-login h2{margin:0 0 8px}.q-login p{font-size:14px;color:#496451}.q-login form{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;margin-top:18px}.q-login label,.q-admin label{display:grid;gap:7px;font-size:12px;font-weight:700}.q-login input,.q-login select,.q-admin input,.q-admin select{box-sizing:border-box;min-width:0;width:100%;border:1px solid #bfcfc2;border-radius:7px;padding:11px;background:white;color:#122d1e;font-size:14px}.q-login button,.q-login form p{grid-column:1/-1}.q-error{color:#ba2030!important;font-weight:700}.q-alert{background:#fff3da;border:1px solid #e8d29e;padding:12px;border-radius:7px;color:#70500e;font-size:13px}.q-winners>header{padding:20px;background:linear-gradient(110deg,#211b0a,#67501c);color:#ffe497;border-radius:18px 18px 0 0}.q-winners>header span{font-size:11px;letter-spacing:.08em}.q-winners>header h2{font-size:24px;margin:8px 0 0;color:#fff3bc}.q-winner-grid{display:grid;gap:18px}.q-winner{border-color:#d9c893;border-top-left-radius:0;border-top-right-radius:0}.q-winner-person{display:flex;align-items:center;gap:18px;padding:20px;background:#fffaf0}.q-avatar{width:100px!important;height:120px!important;object-fit:cover;border-radius:12px;border:2px solid #d6b044}.q-winner-person h3{font-size:22px;margin:0 0 8px}.q-winner-person strong{font-size:32px;color:#886312}.q-winner-person small{font-size:13px;color:#6b5d3f}.q-winner summary{padding:14px;cursor:pointer;color:#5d4f1f;font-weight:800;font-size:13px}.q-no-winner{padding:22px;background:#edf3ee;border-radius:14px;font-size:14px}.q-explainer{padding:38px 30px;min-height:330px;background:repeating-linear-gradient(0deg,transparent,transparent 38px,#155e3b08 39px),#f6fbf5}.q-explainer h2{font-size:30px;color:#17492d}.q-explainer p{font-size:15px;line-height:1.8;color:#4a6c57}.q-large-mark{font-size:65px;letter-spacing:.08em;font-weight:950;color:#b81874}.q-shared{margin-top:34px}.q-shared-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.q-shared details{background:white;border:1px solid #d8e4da;border-radius:12px;overflow:hidden}.q-shared summary{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer}.q-shared summary>b{margin-left:auto;font-size:11px;color:#8b2867}.q-rules{margin:30px 0;border-top:1px solid #d5e2d8;padding-top:18px}.q-rules summary{cursor:pointer;font-weight:800}.q-rules ol{line-height:1.9;font-size:14px;padding-left:24px}.q-admin{margin-top:28px;background:#f5f8f4;border:1px solid #b9cbbf;border-radius:14px;padding:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.q-admin>h2,.q-admin>p{grid-column:1/-1;margin:0}.q-admin form{display:flex;flex-direction:column;gap:12px;background:white;padding:20px;border-radius:12px}.q-admin h3{font-size:18px;margin:0}.q-admin p{font-size:12px;line-height:1.5}.q-home-link{display:flex;align-items:center;gap:18px;background:linear-gradient(110deg,#073d28,#126d44);color:white;padding:22px;border-radius:16px;text-decoration:none}.q-home-link svg{width:40px;height:40px;color:#fc62b4}.q-home-link span{font-size:22px;font-weight:950}.q-home-link small{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;margin-top:6px;color:#d4eadc}.q-home-link>b{margin-left:auto}.q-mvp-slot{margin-top:20px;grid-column:1/-1}.q-compact .q-winner-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.player-profile-hero.q-profile-hero{grid-template-columns:34% minmax(0,1fr) minmax(215px,28%)}.q-profile-hero .player-profile-identity{padding:50px 16px 48px}.q-profile-hero .player-profile-identity h2{font-size:clamp(25px,4vw,48px);overflow-wrap:anywhere}.q-profile-card{z-index:2;align-self:center;max-height:340px;overflow:auto;margin:38px 22px 34px 0;background:#fffdf1;color:#16402a;border:2px solid #eeddb0;border-radius:14px;padding:16px;box-shadow:0 10px 30px #0002}.q-profile-card h3{font-size:22px;margin:8px 0}.q-profile-card p{font-size:11px;color:#49614e}.q-profile-icon svg{width:30px;height:30px;color:#c7177c}.q-profile-card .q-button{font-size:10px;padding:10px;width:100%;box-sizing:border-box}.q-profile-card .q-ticket{font-size:9px}.q-profile-card .q-cell{width:21px;height:25px}.q-profile-card .q-ticket th,.q-profile-card .q-ticket td{padding:5px 2px}.q-profile-card .q-result{width:18px}.q-profile-card .q-ticket td:first-child{width:12px}.q-profile-card .q-ticket th:nth-child(2){max-width:82px;overflow-wrap:anywhere}
@media(max-width:900px){.q-public-grid{grid-template-columns:1fr}.q-admin{grid-template-columns:1fr}.q-hero-ticket{min-width:200px}.q-hero-ticket>div span{padding:6px 14px}.q-toolbar{flex-wrap:wrap}.q-login form{grid-template-columns:1fr}.player-profile-hero.q-profile-hero{grid-template-columns:34% 1fr}.q-profile-card{grid-column:1/-1;margin:0 18px 22px;max-height:none}.player-profile-sheet:has(.q-profile-hero){grid-template-rows:auto minmax(0,1fr)}.q-profile-card [data-q-profile-ticket]{max-height:270px;overflow:auto}.q-profile-card .q-ticket{font-size:11px}.q-profile-card .q-ticket th:nth-child(2){max-width:none}}
@media(max-width:600px){.q-hero{padding:28px 0}.q-hero>.wrap{gap:14px}.q-hero-ticket{min-width:0;width:110px;padding:14px 10px;transform:rotate(4deg)}.q-hero-ticket>div{gap:4px;margin:10px 0}.q-hero-ticket>div span{font-size:20px;padding:5px 9px}.q-hero-ticket>b{font-size:9px;letter-spacing:0}.q-hero-ticket small{font-size:8px}.q-hero h1{font-size:38px}.q-hero p{font-size:13px;max-width:200px}.q-eyebrow{font-size:8px}.q-toolbar{gap:14px}.q-toolbar>div{font-size:11px}.q-my-ticket,.q-login{padding:16px}.q-my-heading h2{font-size:20px}.q-ticket{font-size:10px}.q-ticket th:nth-child(2){max-width:120px;overflow-wrap:anywhere}.q-cell{width:29px;height:34px}.q-ticket th,.q-ticket td{padding:7px 3px}.q-shared-grid{grid-template-columns:1fr}.q-winner-person h3{font-size:20px}.q-actions button{flex:1;min-width:140px}.q-profile-hero .player-profile-identity{grid-column:1/-1;padding:180px 24px 20px}.q-profile-hero .player-profile-photo{bottom:150px}.q-profile-card{position:relative}.q-explainer{min-height:0;padding:24px}.q-large-mark{font-size:48px}}
.q-my-heading{position:static;background:transparent;color:#163d27;box-shadow:none;padding:0}.q-my-heading h2{color:#163d27}.player-profile-modal:has(.q-profile-hero){padding:14px}.player-profile-sheet:has(.q-profile-hero){width:min(1120px,100%);max-width:100%;box-sizing:border-box}
/* v2.5.196 · Encuentros con identidad y foco en Sant Fost. */
.q-public-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)}
.q-ticket th[scope=row]{text-transform:none;letter-spacing:0;font-size:13px;font-weight:650;background:transparent;padding:12px 10px;max-width:none}
.q-ticket .q-team{display:flex;align-items:center;gap:9px;line-height:1.3;color:#244638;font-weight:600;text-align:left}
.q-ticket .q-team+.q-team{margin-top:8px;color:#244638;font-weight:600}
.q-ticket .q-team-logo{width:30px;height:32px;object-fit:contain;flex:0 0 30px;background:#fff;border-radius:6px;padding:3px;box-sizing:border-box}
.q-ticket .asset-fallback.q-team-logo{display:grid;place-items:center;font-size:8px;color:#536a5c;border:1px solid #c8d8cd}
.q-ticket .q-uesf-match{background:linear-gradient(100deg,#e2f7e9,#f4fcf6);box-shadow:inset 4px 0 #079447}
.q-ticket .q-team-ours,.q-ticket .q-team-ours+.q-team-ours{font-weight:850;color:#075e34}
.q-uesf-badge{display:inline-block;margin:0 0 8px;padding:4px 7px;border-radius:5px;background:#086b3b;color:#fff;font-size:9px;font-weight:800;letter-spacing:.05em}
.q-ticket .q-cell{background:#fff;border-radius:8px;border-color:#bdcfc2;min-height:40px;color:#214c34;font-size:14px}
.q-ticket .q-cell.chosen{background:#c91476;color:#fff;border-color:#c91476;box-shadow:0 3px 8px #c9147630}
.q-ticket .q-cell.hit{background:#096b3d;color:#fff;border-color:#096b3d}
.q-ticket label.q-cell:hover{border-color:#b5146f;box-shadow:0 0 0 2px #c914761a}
.q-ticket .q-void.q-uesf-match{opacity:.65}
.q-login input[name=birth_date]{font-variant-numeric:tabular-nums}
.q-profile-card .q-team-logo{width:22px;height:24px;flex-basis:22px}
.q-profile-card .q-ticket th[scope=row]{font-size:10px;padding:6px 3px}
.q-profile-card .q-uesf-badge{font-size:7px}
@media(max-width:900px){.q-public-grid{grid-template-columns:1fr}}
@media(max-width:600px){.q-ticket th[scope=row]{font-size:11px;padding:10px 5px}.q-ticket .q-team{gap:5px}.q-ticket .q-team-logo{width:24px;height:27px;flex-basis:24px}.q-uesf-badge{font-size:8px;letter-spacing:0}.q-ticket .q-cell{width:29px;min-height:38px}.q-ticket th:nth-child(2){max-width:none}.q-ticket td:first-child{width:16px}.q-ticket .q-result{width:22px}}

/* v197: identidad del resultado de quiniela */
.q-result-brand{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(110deg,#062b22,#13784d);color:white;padding:18px 22px;border-radius:12px;margin-bottom:18px}.q-result-brand strong{font-size:clamp(22px,4vw,36px);font-weight:900;line-height:1.1}.q-result-brand em{color:#ed40a6;font-style:normal}.q-result-slip{display:flex;gap:5px;background:#fffdf2;padding:12px;border-top:5px solid #ed40a6;border-radius:5px;transform:rotate(4deg);flex-shrink:0}.q-result-slip span{border:1px solid #cbd8ce;padding:5px 9px;color:#063e2b;font-weight:900}.q-result-slip span:nth-child(2){background:#d40883;color:white;border-color:#d40883}@media(max-width:480px){.q-result-brand{padding:14px 12px;gap:10px}.q-result-slip{padding:8px}.q-result-slip span{padding:4px 6px}}

/* v200: quinielas compartidas, cuatro boletos por fila */
.q-shared-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.q-shared-grid>details{min-width:0;overflow:hidden;border:1px solid #d7e3db;border-radius:12px;background:#fff}
.q-shared-grid>details>summary{display:flex;align-items:center;gap:7px;padding:10px;cursor:pointer;min-width:0}
.q-shared-grid>details>summary>span{min-width:0;flex:1;font-size:12px;overflow-wrap:anywhere;line-height:1.25}
.q-shared-grid>details>summary>b{font-size:10px;white-space:nowrap}
.q-shared-grid .q-small-avatar{width:30px!important;height:36px!important;border-radius:6px}
.q-shared-grid .q-ticket{table-layout:fixed;font-size:10px}
.q-shared-grid .q-ticket caption{font-size:10px;padding:8px}
.q-shared-grid .q-ticket th,.q-shared-grid .q-ticket td{padding:5px 2px}
.q-shared-grid .q-ticket th:first-child,.q-shared-grid .q-ticket td:first-child{width:14px;font-size:9px}
.q-shared-grid .q-ticket th:nth-child(n+3){width:25px;font-size:9px;letter-spacing:0}
.q-shared-grid .q-ticket th[scope=row]{font-size:10px;padding:7px 3px;overflow-wrap:anywhere}
.q-shared-grid .q-team{gap:4px;line-height:1.2}
.q-shared-grid .q-team+.q-team{margin-top:5px}
.q-shared-grid .q-team-logo{width:19px;height:21px;flex-basis:19px;padding:1px;border-radius:3px}
.q-shared-grid .q-ticket .q-cell{width:23px;height:26px;min-height:26px;font-size:11px;border-radius:4px}
.q-shared-grid .q-result{width:22px;height:26px;font-size:11px}
.q-shared-grid .q-uesf-badge{font-size:7px;letter-spacing:0;padding:3px;white-space:normal}
@media(max-width:1150px){.q-shared-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.q-shared-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.q-shared-grid{grid-template-columns:minmax(0,1fr)}}

.q-profile-workspace{margin:0 0 28px;padding:18px;border:1px solid #c8ddce;border-radius:16px;background:#f4f9f5}.q-profile-workspace>h2{color:#c91476}.q-profile-workspace>label{display:block;margin-bottom:16px;font-weight:800}.q-profile-workspace .q-login{max-width:none}.q-profile-workspace .q-my-ticket{padding:14px}.q-profile-entry{padding:18px;background:#edf6ef;border-radius:10px}

.q-goals{display:grid;gap:8px;margin:18px 0;padding:16px;border:2px solid #009b4b;border-radius:12px}.q-goals input{width:100%;max-width:240px;min-height:44px;font-size:18px;padding:8px}.q-goals small,.q-login label small,.q-admin label small{display:block;font-size:13px;line-height:1.5}
.q-toolbar .q-betting-window.q-bets-open,.q-toolbar .q-betting-window.q-bets-open b,.q-toolbar .q-betting-window.q-bets-open span{color:#087b37}
.q-toolbar .q-betting-window.q-bets-closed,.q-toolbar .q-betting-window.q-bets-closed b,.q-toolbar .q-betting-window.q-bets-closed span{color:#c51e2d}
.q-shared-grid .q-small-avatar{width:44px!important;height:54px!important;object-fit:cover}
.q-admin-participants{grid-column:1/-1;background:#fff;padding:20px;border-radius:12px}
.q-admin-participants>label{max-width:220px;margin-bottom:12px}
.q-admin-participant-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.q-admin-participant-list li{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #d7e3db;border-radius:10px}
.q-admin-participant-list li>div{display:grid;gap:5px;min-width:0}
.q-admin-participant-list span{font-size:11px;color:#ad126a;font-weight:800}
.q-admin-participant-list small{font-size:11px;color:#486251}

.q-admin-ballots>li{display:block;min-width:0;padding:0;overflow:hidden}
.q-admin-ballots summary{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none}
.q-admin-ballots summary>div{display:grid;gap:5px;min-width:0}
.q-admin-ballots summary strong{font-size:11px;color:#087b37;margin-top:5px}
.q-admin-ballots:has(details[open]){grid-template-columns:minmax(0,1fr)}
.q-admin-ballot-body{padding:0 14px 14px;min-width:0}
.q-admin-ballots>.q-admin-winner{border:2px solid #c19621;background:#fffbed}
.q-admin-winner summary span{color:#755307}
.q-admin-computation{padding:14px;background:#edf6f0;border-radius:9px;color:#18462e;line-height:1.6}

/* v2.5.221: ranking por aciertos y máscara privada sin datos sensibles. */
.q-shared-grid>details.q-ranking-first{border:3px solid #bd8b22;background:linear-gradient(135deg,#fff4c3,#edca6e);box-shadow:0 5px 22px #b7882733}
.q-ranking-first .q-ticket,.q-ranking-first .q-ticket th,.q-ranking-first .q-ticket td,.q-ranking-first .q-ticket caption,.q-ranking-first>summary{background:transparent}
.q-ranking-first>summary{color:#4f3907}
.q-ranking-position{font-weight:900;font-size:15px;color:#6e5831}
.q-private-preview{position:relative;isolation:isolate;overflow:hidden;min-height:160px;background:#edf0ee99}
.q-private-placeholder{filter:blur(5px);opacity:.30;pointer-events:none;user-select:none}
.q-private-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px;color:#283c32;text-align:center}
.q-private-label b{background:#ffffffeb;padding:10px 14px;border-radius:8px;font-size:13px}
.q-private-label span{background:#ffffffd9;padding:7px;font-size:11px;border-radius:6px}
.q-ranking-first .q-private-preview{background:#edca6e55}

/* v2.5.222: resultado oficial en el propio signo, sin columna Final. */
.q-official-ticket .q-cell.q-official-mark{background:#087b37;color:#fff;border:2px solid #065b2a;font-weight:900;box-shadow:0 3px 9px #087b3726;position:relative}
.q-official-mark small{font-size:10px;margin-left:3px;line-height:1}
.q-official-status{display:block;margin-top:7px;font-size:11px;color:#526258}
.q-shared-grid>details>summary>.q-ranking-hits{display:flex;flex-direction:column;align-items:center;gap:2px;margin-left:auto;flex-shrink:0;color:#c00078;font-weight:900;line-height:1.1;white-space:nowrap}
.q-shared-grid .q-ranking-hits>span{font-size:26px;color:inherit}
.q-shared-grid .q-ranking-hits>small{font-size:14px;color:inherit;font-weight:800}
.q-shared-grid .q-ranking-position{font-size:22px;color:#c00078;line-height:1.1;flex-shrink:0}
