:root{
  --bg:#06150f;--bg-deep:#020806;--panel:rgba(7,31,23,.86);--panel-soft:rgba(255,255,255,.075);
  --text:#f4fff8;--muted:#a7c9ba;--line:rgba(255,255,255,.14);--primary:#17e58f;--primary-dark:#078d55;
  --accent:#ffd166;--danger:#ff6b81;--blue:#62b5ff;--violet:#b497ff;--success:#2bd989;
  --shadow:0 22px 60px rgba(0,0,0,.35);--radius:22px;--sidebar:286px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:
radial-gradient(circle at 12% -5%,rgba(22,229,143,.22),transparent 36%),
radial-gradient(circle at 94% 12%,rgba(98,181,255,.15),transparent 30%),
linear-gradient(160deg,var(--bg),var(--bg-deep));overflow-x:hidden}
body.theme-neon{--bg:#070918;--bg-deep:#02030a;--panel:rgba(11,14,35,.88);--primary:#11dff2;--primary-dark:#087b8e;--accent:#c7ff4b;--muted:#b6bddc}
body.theme-world{--bg:#07162e;--bg-deep:#030716;--panel:rgba(7,23,51,.88);--primary:#40ec91;--primary-dark:#168351;--accent:#ff6fa9;--muted:#c6d5f1}
body.theme-aurora{--bg:#06172a;--bg-deep:#020711;--panel:rgba(4,28,47,.90);--primary:#55f2d1;--primary-dark:#168ca8;--accent:#e4ff6b;--muted:#bbdbe7;--blue:#7bdcff}
body.theme-sunset{--bg:#241016;--bg-deep:#090306;--panel:rgba(51,17,27,.90);--primary:#ffb86b;--primary-dark:#d05252;--accent:#ffe079;--muted:#efd0cb;--blue:#8dc7ff}
body.theme-graphite{--bg:#111827;--bg-deep:#030712;--panel:rgba(20,28,43,.93);--primary:#82e6bd;--primary-dark:#2a8d79;--accent:#f6c96a;--muted:#cbd5e1;--blue:#93c5fd}
body.theme-gold{--bg:#1d1605;--bg-deep:#070501;--panel:rgba(45,34,8,.92);--primary:#ffd166;--primary-dark:#a96b12;--accent:#7df2b5;--muted:#ead9ac;--blue:#9ed4ff}
body.theme-ocean{--bg:#041c2c;--bg-deep:#01070c;--panel:rgba(3,39,57,.92);--primary:#5eead4;--primary-dark:#0e7490;--accent:#fef08a;--muted:#b9dae5;--blue:#7dd3fc}
body.theme-purple{--bg:#1b0c2b;--bg-deep:#08030e;--panel:rgba(43,19,68,.92);--primary:#c4b5fd;--primary-dark:#7c3aed;--accent:#f9a8d4;--muted:#ddd0ed;--blue:#93c5fd}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.glass{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
.btn{border:0;border-radius:14px;padding:11px 15px;font-weight:800;transition:.22s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--text);white-space:nowrap}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#02120b}
.btn.accent{background:linear-gradient(135deg,var(--accent),#ff9f43);color:#251b02}
.btn.ghost{background:var(--panel-soft);border:1px solid var(--line)}
.btn.danger{background:linear-gradient(135deg,#ff7288,#d93154);color:#fff}
.btn.blue{background:linear-gradient(135deg,#7cc8ff,#3589e7);color:#03172a}
.btn.small{padding:8px 11px;border-radius:11px;font-size:12px}
.btn.full{width:100%}
.icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);border-radius:12px;min-width:40px;height:40px;display:grid;place-items:center;transition:.2s}
.icon-btn:hover{background:rgba(255,255,255,.16)}
input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);border-radius:13px;padding:12px 13px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,229,143,.16)}
select option{background:#0b2119;color:#f4fff8}
label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin:0 0 7px}
.toast{position:fixed;z-index:2000;right:18px;top:18px;max-width:min(430px,calc(100vw - 36px));padding:14px 17px;border-radius:14px;background:#09291e;border:1px solid var(--primary);box-shadow:var(--shadow);opacity:0;transform:translateY(-95px);transition:.3s}
.toast.show{opacity:1;transform:translateY(0)}
.toast.error{border-color:var(--danger);background:#35111b}
.toast.warn{border-color:var(--accent);background:#30250c}

/* login */
.login-screen{min-height:100vh;position:relative;display:grid;place-items:center;padding:34px;overflow:hidden}
.login-field{position:absolute;inset:0;overflow:hidden;background:
linear-gradient(90deg,rgba(255,255,255,.03) 50%,transparent 50%) 0 0/150px 100%,
radial-gradient(ellipse at center bottom,#0a4b2f 0,#062619 40%,#020806 78%)}
.field-line.center{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,.12)}
.field-circle{position:absolute;width:350px;height:350px;border:2px solid rgba(255,255,255,.14);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.stadium-light{position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.06);filter:blur(18px);animation:pulse 4s infinite}
.light-1{top:5%;left:8%}.light-2{top:12%;right:7%;animation-delay:.8s}.light-3{bottom:4%;left:46%;animation-delay:1.6s}
.floating-ball{position:absolute;font-size:30px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.4));animation:floatBall 6s ease-in-out infinite}
.ball-1{left:12%;top:22%}.ball-2{right:17%;bottom:18%;animation-delay:1.5s}.ball-3{right:37%;top:10%;animation-delay:3s}
.login-layout{position:relative;z-index:2;width:min(1160px,100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.72fr);gap:44px;align-items:center}
.login-intro h1{font-size:clamp(44px,7vw,82px);line-height:.98;margin:18px 0;letter-spacing:-3px;max-width:760px}
.login-intro h1 span{color:var(--primary);text-shadow:0 0 34px rgba(23,229,143,.3)}
.login-intro p{max-width:700px;color:#c2dfd3;font-size:18px;line-height:1.6}
.brand-chip,.timezone-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-size:12px;font-weight:900}
.prize-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;max-width:760px}
.prize-grid article{background:rgba(255,255,255,.075);border:1px solid var(--line);padding:15px;border-radius:16px;animation:rise .6s both}
.prize-grid b,.prize-grid small{display:block}.prize-grid small{margin-top:7px;color:var(--muted)}
.login-feature-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;color:#d7f2e7;font-size:13px}
.login-feature-row span{background:rgba(0,0,0,.16);border:1px solid var(--line);padding:8px 10px;border-radius:999px}
.login-card{padding:25px;border-radius:24px;animation:rise .65s both}
.login-card-head,.sidebar-brand{display:flex;align-items:center;gap:12px}
.logo-ball{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#fff,#9dfbd0);font-size:27px;box-shadow:0 0 28px rgba(23,229,143,.35)}
.login-card-head strong,.sidebar-brand strong{display:block;font-size:20px}.login-card-head small,.sidebar-brand small{display:block;color:var(--muted);margin-top:3px}
.login-card label{margin-top:17px}
.password-wrap{display:flex;gap:8px}.password-wrap input{flex:1}
.login-submit{margin-top:20px;padding:14px}
.login-help{font-size:12px;color:var(--muted);text-align:center;margin:14px 0 0}

/* layout */
.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:18px;padding:18px;transition:.25s}
.app.sidebar-collapsed{--sidebar:94px}
.sidebar{border-radius:var(--radius);padding:15px;position:sticky;top:18px;height:calc(100vh - 36px);display:flex;flex-direction:column;gap:16px;overflow:hidden;z-index:80}
.sidebar-brand{min-height:55px}.brand-copy{min-width:135px;transition:.2s}.sidebar-brand .desktop-only{margin-left:auto}
.sidebar-nav{display:grid;gap:7px;overflow-y:auto;overflow-x:hidden;padding-right:2px}
.nav-link{border:0;border-radius:13px;background:transparent;color:var(--muted);padding:12px 13px;display:flex;gap:12px;align-items:center;text-align:left;font-weight:800;transition:.2s}
.nav-link span{font-size:18px;min-width:22px;text-align:center}.nav-link:hover,.nav-link.active{color:var(--text);background:rgba(255,255,255,.1);transform:translateX(3px)}
.sidebar-footer{margin-top:auto;display:grid;gap:10px}.sidebar-footer label{margin:0}
.app.sidebar-collapsed .brand-copy,.app.sidebar-collapsed .sidebar-footer label,.app.sidebar-collapsed .sidebar-footer select,.app.sidebar-collapsed .nav-link b{display:none}
.app.sidebar-collapsed .sidebar-brand{justify-content:center;flex-wrap:wrap}.app.sidebar-collapsed .sidebar-brand .desktop-only{margin:0}
.app.sidebar-collapsed .nav-link{justify-content:center}.app.sidebar-collapsed .sidebar-footer .btn{font-size:0}.app.sidebar-collapsed .sidebar-footer .btn:after{content:"↪";font-size:18px}
.workspace{min-width:0;padding-bottom:22px}
.topbar{position:sticky;z-index:60;top:18px;border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.topbar-left,.top-actions{display:flex;align-items:center;gap:10px}.topbar h2{margin:0;font-size:26px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}
.mobile-menu{display:none}

/* general cards */
.section-card,.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));box-shadow:0 12px 36px rgba(0,0,0,.2)}
.section-card{padding:18px;margin-bottom:17px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.section-title h3{margin:0;font-size:18px}.section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;margin-bottom:17px}
.stat-card{padding:17px}.stat-card .label{font-size:12px;color:var(--muted);font-weight:800}.stat-card .value{font-size:34px;font-weight:950;margin-top:7px}.stat-card .sub{font-size:12px;color:var(--muted);margin-top:4px}
.two-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:17px}
.progress-shell{height:14px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px;transition:1s}
.hero-card{position:relative;overflow:hidden;min-height:225px;padding:22px}.hero-card:after{content:"";position:absolute;width:260px;height:260px;border:2px solid rgba(255,255,255,.1);border-radius:50%;right:-80px;bottom:-95px}.hero-card h3{font-size:25px;margin:0 0 10px}.hero-card p{color:var(--muted);line-height:1.6;max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}
.top-list{display:grid;gap:9px}.top-person{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.05)}.top-person small{display:block;color:var(--muted);margin-top:3px}.points-pill{padding:7px 10px;border-radius:999px;background:rgba(23,229,143,.14);color:var(--primary);font-weight:900}
.filters{display:flex;flex-wrap:wrap;gap:9px;align-items:end}.filters .field{min-width:155px;flex:0 1 auto}.filters .grow{flex:1 1 210px}.filters input,.filters select{padding:10px 11px}

/* matches */
.match-toolbar{position:relative;top:auto;z-index:1;background:linear-gradient(180deg,rgba(10,38,29,.98),rgba(8,29,23,.96));backdrop-filter:none}
.match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.match-card{padding:15px;position:relative;overflow:hidden;animation:rise .35s both}.match-card.locked{opacity:.78}.match-card.finalized{border-color:rgba(98,181,255,.42)}
.match-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.match-no{font-size:12px;color:var(--muted);font-weight:900}
.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid rgba(23,229,143,.35);background:rgba(23,229,143,.13)}
.badge.closed{background:rgba(255,209,102,.12);border-color:rgba(255,209,102,.4);color:#ffe09a}.badge.finalized{background:rgba(98,181,255,.13);border-color:rgba(98,181,255,.42);color:#acd9ff}.badge.danger{background:rgba(255,107,129,.13);border-color:rgba(255,107,129,.4);color:#ffc0cb}
.teams{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:8px;align-items:center;margin:15px 0}.team{text-align:center;min-width:0}.team-name{display:block;font-size:13px;font-weight:900;margin-top:7px;line-height:1.25}.vs{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);color:var(--accent);font-size:12px;font-weight:950}
.real-flag{position:relative;width:68px;height:44px;margin:auto;border-radius:9px;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);transform-origin:left center;animation:flagWave 3.1s ease-in-out infinite;box-shadow:0 9px 18px rgba(0,0,0,.22)}
.real-flag img{display:block;width:100%;height:100%;object-fit:cover}.real-flag .emoji-fallback{display:none;height:100%;place-items:center;font-size:29px}
.real-flag:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(-110%);animation:flagShine 3.8s infinite}
.meta{font-size:12px;color:var(--muted);line-height:1.5}.meta strong{color:#e8fff3}.score{display:inline-flex;margin-top:8px;padding:6px 9px;border-radius:999px;background:rgba(98,181,255,.13);color:#b9e0ff;font-weight:900}
.pick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.pick{border:1px solid var(--line);background:rgba(255,255,255,.055);color:var(--text);padding:9px 6px;border-radius:11px;font-size:12px;font-weight:950;transition:.18s}.pick:hover,.pick.selected{color:#03130c;background:linear-gradient(135deg,var(--primary),#9effcd);transform:translateY(-2px)}.pick:disabled{opacity:.42;transform:none}
.result-note{margin-top:9px;font-size:12px;font-weight:800}.result-note.hit{color:var(--primary)}.result-note.fail{color:var(--danger)}.result-note.pending{color:var(--muted)}

/* tables */
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0 8px;min-width:720px}.data-table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.55px;padding:8px 10px}.data-table td{padding:10px;background:rgba(255,255,255,.055);font-size:13px}.data-table td:first-child{border-radius:11px 0 0 11px}.data-table td:last-child{border-radius:0 11px 11px 0}.data-table tr.me td{background:rgba(23,229,143,.12);border-top:1px solid rgba(23,229,143,.22);border-bottom:1px solid rgba(23,229,143,.22)}.medal{font-size:20px}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.mini-flag{width:26px;height:17px;border-radius:4px;object-fit:cover;border:1px solid rgba(255,255,255,.18);vertical-align:middle;margin-right:7px}
.groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.group-card{padding:15px}.group-card h3{margin:0 0 8px}.standings-table{width:100%;border-collapse:collapse}.standings-table th,.standings-table td{padding:8px 5px;font-size:12px;text-align:center;border-bottom:1px solid var(--line)}.standings-table th:nth-child(2),.standings-table td:nth-child(2){text-align:left}.standings-table tr:first-child td{color:#e9ffe8;font-weight:900}
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.admin-block{padding:15px;min-width:0}.admin-block h3{margin:0 0 8px}.admin-block p{color:var(--muted);font-size:13px;line-height:1.5}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.file-input{display:block;border:1px dashed rgba(255,255,255,.34);border-radius:13px;padding:12px;background:rgba(255,255,255,.055);margin-bottom:9px;color:var(--muted)}
.user-search{max-width:360px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}
.modal{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.64)}.modal-card{position:relative;width:min(640px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:20px;padding:20px}.modal-close{position:absolute;right:14px;top:14px}.modal-card h3{margin-top:0;padding-right:45px}.modal-card .hint{font-size:12px;color:var(--muted);line-height:1.5}
.empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}

/* responsive */
.sidebar-overlay{display:none}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pulse{50%{transform:scale(1.13);opacity:.5}}
@keyframes floatBall{50%{transform:translateY(-18px) rotate(18deg)}}
@keyframes flagWave{0%,100%{transform:perspective(160px) rotateY(0deg) translateY(0)}50%{transform:perspective(160px) rotateY(-8deg) translateY(-3px)}}
@keyframes flagShine{55%,100%{transform:translateX(115%)}}

@media(max-width:1220px){
  .match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .login-layout{grid-template-columns:1fr;gap:24px}.login-intro{text-align:center}.login-intro p,.prize-grid{margin-left:auto;margin-right:auto}.login-feature-row{justify-content:center}
  .app{display:block;padding:12px}.sidebar{position:fixed;left:12px;top:12px;bottom:12px;height:auto;width:min(304px,calc(100vw - 24px));transform:translateX(-115%);transition:.25s;z-index:140}.sidebar.open{transform:none}
  .sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:120}.desktop-only{display:none}.mobile-menu{display:grid}.topbar{top:12px}.match-toolbar{top:auto}
  .two-col{grid-template-columns:1fr}.groups-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .login-screen{padding:18px}.login-intro h1{font-size:48px;letter-spacing:-2px}.login-intro p{font-size:15px}.prize-grid{grid-template-columns:1fr}.login-feature-row{display:none}
  .topbar{padding:13px}.topbar h2{font-size:20px}.topbar p{display:none}.timezone-pill{display:none}.top-actions .btn{font-size:0;padding:10px}.top-actions .btn:before{font-size:15px}.top-actions [data-open-view="matches"]:before{content:"🎯"}
  .stats-grid,.admin-grid{grid-template-columns:1fr}.match-grid{grid-template-columns:1fr}.section-card{padding:13px}.match-card{padding:13px}
  .filters .field,.filters .grow{min-width:100%;flex-basis:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
}

/* v8: mejoras visuales y controles administrativos */
.compact-help{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0 0}
.inline-check{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:12px;font-weight:700;margin:8px 0 10px}.inline-check input{width:auto;margin-top:2px}
.bulk-panel{display:grid;gap:10px}.bulk-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bulk-summary{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.055);font-size:12px;color:var(--muted)}
.result-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 15px}.result-choice{border:1px solid var(--line);border-radius:13px;padding:12px 8px;background:rgba(255,255,255,.055);color:var(--text);font-weight:900;transition:.2s}.result-choice:hover,.result-choice.active{background:linear-gradient(135deg,var(--primary),#b3ffd9);color:#03130c;transform:translateY(-2px)}
.import-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.import-summary .mini-stat{padding:11px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.055)}.import-summary b{display:block;font-size:23px}.import-summary span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.error-list{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px}.error-list div{font-size:12px;padding:7px;border-bottom:1px solid var(--line);color:#ffd1d9}.error-list div:last-child{border-bottom:0}
.match-toolbar .filters{padding-top:2px}.match-toolbar select,.match-toolbar input{background:#103229;border-color:rgba(255,255,255,.2)}
.admin-filter-row{display:flex;flex-wrap:wrap;gap:9px;align-items:end}.admin-filter-row .field{min-width:150px}.admin-filter-row .grow{flex:1 1 220px}
.password-note{padding:10px 12px;border-radius:12px;background:rgba(255,209,102,.11);border:1px solid rgba(255,209,102,.32);font-size:12px;color:#ffe6a8;line-height:1.45}
@media(max-width:680px){.bulk-selector{grid-template-columns:1fr}.result-choice-grid{grid-template-columns:1fr}.import-summary{grid-template-columns:1fr}.admin-filter-row .field,.admin-filter-row .grow{min-width:100%;flex-basis:100%}}


/* v9: dashboard vivo, premios y feedback */
.login-prize{cursor:pointer;transition:.22s ease;position:relative;overflow:hidden}.login-prize:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 14px 28px rgba(0,0,0,.24)}
.login-prize:after,.prize-card:after{content:"";position:absolute;inset:-80% -30%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.24),transparent);transform:translateX(-70%);animation:prizeShine 4.5s infinite}
.dashboard-section{margin-top:17px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dashboard-matches{display:grid;gap:9px}.dashboard-match{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:15px;background:rgba(255,255,255,.055);border:1px solid var(--line)}
.dashboard-match .when{font-size:12px;color:var(--muted);line-height:1.5}.dashboard-match .fixture{font-size:13px;font-weight:900;line-height:1.55}.dashboard-match .fixture small{display:block;color:var(--muted);font-weight:700}.dashboard-match .fixture .mini-flag{margin-left:5px;margin-right:5px}.dashboard-match .score-live{font-size:17px;font-weight:950;color:var(--accent);white-space:nowrap}.dashboard-match .score-live small{display:block;font-size:10px;color:var(--muted);text-align:right;margin-top:4px}
.prizes-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:17px}.prize-card{cursor:pointer;position:relative;overflow:hidden;padding:16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));transition:.22s;animation:rise .5s both}.prize-card:hover{transform:translateY(-5px) scale(1.015);border-color:var(--accent)}.prize-card strong{display:block;font-size:16px}.prize-card span{display:block;color:var(--muted);font-size:12px;margin-top:6px}.prize-card .prize-icon{font-size:27px;margin-bottom:7px}
.prize-popup{text-align:center}.prize-popup .trophy{font-size:74px;animation:trophyBounce 1.5s ease-in-out infinite}.prize-popup .amount{font-size:44px;font-weight:950;color:var(--accent);margin:9px 0}.prize-popup p{color:var(--muted);line-height:1.6}
.feedback-popup{text-align:center}.feedback-popup .feedback-ball{font-size:62px;animation:trophyBounce 1.3s ease-in-out infinite}.feedback-popup h3{font-size:25px;padding:0}.feedback-popup p{color:var(--muted);line-height:1.6}.feedback-popup.hit h3{color:var(--primary)}.feedback-popup.miss h3{color:var(--accent)}
.confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:3000;overflow:hidden}.confetti-piece{position:absolute;top:-14px;width:10px;height:18px;border-radius:2px;animation:confettiFall var(--fall,2.4s) linear forwards;animation-delay:var(--delay,0s);transform:rotate(var(--rot,0deg))}
.music-note{position:fixed;z-index:1500;right:20px;bottom:20px;padding:8px 11px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid var(--line);font-size:12px;color:var(--muted);opacity:0;transition:.25s}.music-note.show{opacity:1}
.user-create-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
@keyframes prizeShine{55%,100%{transform:translateX(72%)}}
@keyframes trophyBounce{50%{transform:translateY(-8px) rotate(-3deg)}}
@keyframes confettiFall{to{transform:translate3d(var(--drift,0),110vh,0) rotate(760deg);opacity:.2}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:680px){.prizes-dashboard{grid-template-columns:1fr}.dashboard-match{grid-template-columns:1fr;gap:6px}.dashboard-match .score-live small{text-align:left}}


/* v10: reproductor oficial FIFA Sound y control de integridad de 72 partidos */
.worldcup-player{position:fixed;z-index:170;right:18px;bottom:18px;width:min(390px,calc(100vw - 36px));border-radius:18px;background:linear-gradient(145deg,rgba(3,18,15,.97),rgba(9,44,35,.97));border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 45px rgba(0,0,0,.38);overflow:hidden;backdrop-filter:blur(14px);transition:.25s ease}
.worldcup-player-head{display:flex;align-items:center;gap:9px;padding:10px 11px;border-bottom:1px solid rgba(255,255,255,.12)}
.worldcup-player-copy{min-width:0;flex:1}.worldcup-player-copy strong{display:block;font-size:13px;color:#fff}.worldcup-player-copy small{display:block;margin-top:3px;font-size:10px;line-height:1.35;color:rgba(255,255,255,.64)}
.music-live-dot{width:9px;height:9px;border-radius:999px;background:#17e58f;box-shadow:0 0 0 0 rgba(23,229,143,.55);animation:musicPulse 1.7s infinite}
.music-collapse{flex:0 0 auto}.worldcup-player-body{padding:10px;transition:.22s}.official-playlist-frame{display:block;width:100%;height:164px;border:0;border-radius:12px;background:#04100d}.worldcup-player-links{display:flex;gap:10px;justify-content:space-between;align-items:center;padding-top:8px;font-size:10px;color:rgba(255,255,255,.58)}.worldcup-player-links a{color:#8cf5bd;font-weight:900;text-decoration:none}.worldcup-player.collapsed{width:min(330px,calc(100vw - 36px))}.worldcup-player.collapsed .worldcup-player-body{display:none}.worldcup-player.collapsed .worldcup-player-head{border-bottom:0}
.match-integrity{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:7px;font-size:11px}.match-count-ok{color:#8cf5bd;font-weight:900}.match-count-warn{color:#ffd166;font-weight:900}.match-integrity span:last-child{color:var(--muted)}
@keyframes musicPulse{70%{box-shadow:0 0 0 8px rgba(23,229,143,0)}100%{box-shadow:0 0 0 0 rgba(23,229,143,0)}}
@media(max-width:680px){.worldcup-player{right:10px;bottom:10px;width:calc(100vw - 20px)}.official-playlist-frame{height:148px}.worldcup-player-copy small{display:none}}


/* v11: reproductor siempre visible y orden limpio */
.worldcup-player{display:block!important;z-index:950}
.worldcup-player.is-hidden{display:none!important}
.worldcup-player-head{cursor:default}
#openMusicPlayer{position:relative}
.match-order-note{font-size:11px;color:var(--muted);line-height:1.4;margin-top:5px}
@media(max-width:980px){.worldcup-player{z-index:980}}


/* v12 security: historial y auditoría */
.audit-pill{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid var(--line);font-size:10px;font-weight:900;white-space:nowrap}.audit-pill.created{color:#8cf5bd;background:rgba(23,229,143,.12)}.audit-pill.updated{color:#ffd166;background:rgba(255,209,102,.12)}.audit-pill.blocked_attempt{color:#ff9daf;background:rgba(255,107,129,.13)}.audit-pill.score_recalculated{color:#a9c9ff;background:rgba(98,181,255,.13)}.audit-modal-table{max-height:62vh;overflow:auto}textarea{min-height:92px;resize:vertical}


/* v13 NOSSAGOL: identidad NOSSA y padrón separado */
:root{--nossa:#f19bb1;--nossa-deep:#b94f6c}
.brand-word{display:inline-flex;gap:0;align-items:baseline}.brand-nossa{color:var(--nossa)!important;text-shadow:0 0 28px rgba(241,155,177,.28)}.brand-gol{color:#fff!important;text-shadow:0 0 28px rgba(255,255,255,.16)}
.login-intro h1 .brand-word{white-space:nowrap}.login-intro h1 .brand-nossa,.login-intro h1 .brand-gol{font-weight:950}
.sidebar-brand .brand-nossa,.sidebar-brand .brand-gol,.login-card-head .brand-nossa,.login-card-head .brand-gol{letter-spacing:.3px}
.user-scope-note{font-size:12px;color:var(--muted)}
@media(max-width:680px){.stats-grid{grid-template-columns:1fr}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
