.prode-app{grid-template-columns:230px minmax(0,1fr)}
.sidebar{padding:16px 12px}
.brand{margin-bottom:18px}
.brand-mark{width:42px;height:42px;border-radius:13px}
.nav-link{padding:9px 11px;border-radius:10px;font-size:13px}
.main{padding:16px 20px 28px}
.topbar{margin-bottom:14px}
.hidden{display:none!important}
.profile-warning{margin:-4px 0 14px;padding:12px 14px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px;font-weight:800;box-shadow:var(--shadow)}
.hero{padding:24px;grid-template-columns:minmax(0,1fr) 260px;border-radius:22px}
.hero h2{font-size:38px}
.hero p{font-size:14px;line-height:1.5}
.orb{width:128px;height:128px;font-size:56px}
.deadline-card{padding:10px 12px;border-radius:14px}
.deadline-card strong{font-size:18px}
.metric-grid{gap:10px;margin:12px 0}
.metric{padding:12px;border-radius:16px}
.metric strong{font-size:22px}
.panel{padding:14px;border-radius:16px}
.panel-head,.section-head{margin-bottom:10px}
.rules div{padding:11px}
.rules strong{font-size:22px}
.user-hero{padding:14px;border-radius:16px}
.user-hero img,.profile-card img{width:58px;height:58px;border-radius:16px}
.score-chip{padding:9px 11px}
.score-chip strong{font-size:18px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:12px 0}
.level-panel{background:linear-gradient(135deg,#fff,#fbf4ff)}
.level-row{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center}
.level-row>strong{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;font-size:23px;box-shadow:0 12px 25px #711d7830}
.level-row p{margin:6px 0 0;color:var(--muted);font-size:12px;font-weight:800}
.ranking-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ranking-cards div{padding:12px;border-radius:15px;background:#f8fafc;border:1px solid var(--border)}
.ranking-cards small,.ranking-cards strong{display:block}
.ranking-cards small{color:var(--muted);font-size:11px;font-weight:900}
.ranking-cards strong{font-size:24px;color:var(--violet);margin-top:3px}
.dashboard-badges{grid-template-columns:repeat(3,1fr)}
.profile-settings-card{grid-template-columns:92px minmax(0,1fr) auto}
.profile-edit-button{justify-self:end}
.profile-settings-grid{grid-template-columns:minmax(0,640px)}
.admin-badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 11px;background:#ecfdf3;color:#15803d;font-size:11px;font-weight:900;border:1px solid #bbebc9}
.users-toolbar{display:grid;grid-template-columns:2fr repeat(6,minmax(120px,1fr));gap:8px;margin-bottom:12px}
.users-toolbar select{border:1px solid var(--border);border-radius:10px;background:#fff;padding:9px 10px;font-size:13px;outline:none}
.users-panel{overflow:auto}
.users-table{min-width:980px}
.rank-user small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:2px}
.table-actions{display:flex;gap:6px;white-space:nowrap}
.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(17,24,39,.58);backdrop-filter:blur(6px)}
.modal-backdrop[hidden]{display:none}
.participant-modal{width:min(920px,100%);max-height:88vh;overflow:auto;position:relative;padding:18px;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(17,24,39,.32)}
.modal-close{position:sticky;top:0;float:right;z-index:2;border:0;border-radius:999px;background:#f1f5f9;color:var(--text);padding:8px 11px;font-size:12px;font-weight:900}
.modal-hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px;margin-bottom:12px;border-radius:18px;background:linear-gradient(135deg,#fbf7fc,#f8fafc);border:1px solid var(--border)}
.modal-hero img{width:72px;height:72px;border-radius:20px;object-fit:cover}
.modal-hero h2{margin:0}
.modal-hero p{margin:4px 0 0;color:var(--muted);font-weight:800}
.modal-panel{padding:14px;margin-top:10px;border-radius:16px;background:#fff;border:1px solid var(--border)}
.modal-panel h3{margin:0 0 10px}
.modal-stats{grid-template-columns:repeat(4,1fr);margin:10px 0}
.mini-badges{display:flex;flex-wrap:wrap;gap:8px}
.mini-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 9px;background:#f2e8f5;color:var(--violet);font-size:11px;font-weight:900}
.admin-private{background:#fffaf0;border-color:#fde3b1}
.auth-modal{width:min(460px,100%)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px}
.auth-tab{border:0;border-radius:12px;padding:10px 12px;background:#f1f5f9;color:var(--muted);font-weight:900}
.auth-tab.active{background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff}
.auth-panel{display:none;gap:10px}
.auth-panel.active{display:grid}
.auth-panel h2{margin:0 0 4px}
.auth-panel label,.profile-form label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:900}
.auth-panel input,.profile-form input,.profile-form select{width:100%;border:1px solid var(--border);border-radius:11px;background:#fff;padding:10px 11px;color:var(--text);font-size:14px;font-weight:700;outline:none}
.link-button{border:0;background:transparent;color:var(--violet);font-weight:900;text-align:left;padding:4px 0}
.auth-message.ok{background:#ecfdf3;color:#15803d}
.auth-message.error{background:#fff1f1;color:#b42318}
.profile-form{display:grid;gap:10px}
.profile-form label span{font-size:10px;color:var(--muted);font-weight:800}
.coming-soon-prizes{min-height:62vh;display:grid;place-items:center;text-align:center;padding:42px;border-radius:28px;background:linear-gradient(135deg,#2b1039,#76237d 58%,#0f766e);color:#fff;box-shadow:var(--shadow)}
.coming-soon-prizes .prize-trophy{font-size:74px}
.coming-soon-prizes h2{margin:6px 0 0;font-size:34px}
.coming-soon-prizes strong{display:block;margin-top:10px;font-size:24px;letter-spacing:.08em}
.coming-soon-prizes p{max-width:560px;margin:8px auto 0;color:#f3e8f5;line-height:1.55}
.prizes-admin-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1fr);gap:12px;margin-bottom:12px}
.prize-form{display:grid;gap:9px}
.prize-form label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:900}
.prize-form input,.prize-form select,.prize-form textarea{width:100%;border:1px solid var(--border);border-radius:11px;background:#fff;padding:9px 10px;color:var(--text);font-size:13px;font-weight:700;outline:none}
.prize-form textarea{min-height:72px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.prize-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.prize-actions.compact{margin-top:8px}
.soft-button.danger{color:var(--red);background:#fff1f1}
.prize-message{margin:0}
.stage-list{display:grid;gap:8px}
.stage-list div,.future-prize-grid div{padding:11px;border-radius:14px;background:#f8fafc;border:1px solid var(--border)}
.stage-list strong,.stage-list span,.future-prize-grid strong,.future-prize-grid span{display:block}
.stage-list strong,.future-prize-grid strong{font-size:13px}
.stage-list span,.future-prize-grid span{margin-top:3px;color:var(--muted);font-size:11px;font-weight:800}
.prize-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prize-stage-card{align-self:start}
.prize-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:10px;border-radius:16px;background:#f8fafc;border:1px solid var(--border);margin-top:8px}
.prize-card img{width:96px;height:96px;border-radius:14px;object-fit:cover}
.prize-title-row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.prize-info p{margin:5px 0 8px;color:var(--muted);font-size:12px;line-height:1.35}
.prize-info dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0}
.prize-info dl div{padding:7px;border-radius:10px;background:#fff;border:1px solid #eef2f7}
.prize-info dt,.prize-info dd{font-size:10px}
.prize-info dt{color:var(--muted);font-weight:900}
.prize-info dd{margin:2px 0 0;font-weight:900}
.prize-status{border-radius:999px;padding:5px 7px;font-size:10px;font-weight:900;background:#eef2f7;color:var(--muted)}
.prize-status.publicado{background:#ecfdf3;color:#15803d}
.prize-status.borrador{background:#fff3df;color:#a15712}
.prize-status.entregado{background:#eef2ff;color:#4338ca}
.empty-prize{padding:14px;border-radius:14px;background:#f8fafc;color:var(--muted);font-size:12px;font-weight:800}
.future-public-prizes{margin-top:12px}
.future-prize-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.filters{gap:8px;margin:8px 0 10px}
.filters select,.filters input,.search{padding:9px 10px;border-radius:10px;font-size:13px}
.match-card{grid-template-columns:minmax(170px,1fr) 105px minmax(170px,1fr) auto;gap:8px;padding:9px 11px;border-radius:13px}
.team{font-size:13px}
.match-meta{font-size:10px}
.prediction-inputs input{width:38px;padding:7px;border-radius:8px}
.pill,.badge{padding:5px 8px;font-size:10px}
.save-message{padding:8px 10px;margin-bottom:8px}
.result-card{padding:10px 12px;border-radius:13px}
.points{font-size:19px}
.profile-card{padding:14px;border-radius:16px;margin-bottom:12px}
td,th{padding:8px 7px}
@media(max-width:1100px){.prode-app{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.main{padding:14px}}
@media(max-width:1200px){.users-toolbar{grid-template-columns:1fr 1fr 1fr}.prizes-admin-grid,.prize-stage-grid{grid-template-columns:1fr}.future-prize-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.hero h2{font-size:30px}.match-card{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.ghost-button{width:100%}.dashboard-grid{grid-template-columns:1fr}.ranking-cards{grid-template-columns:1fr}.dashboard-badges{grid-template-columns:repeat(2,1fr)}.profile-settings-card{grid-template-columns:1fr}.profile-edit-button{justify-self:stretch}.users-toolbar{grid-template-columns:1fr}.modal-hero{grid-template-columns:1fr}.modal-stats{grid-template-columns:repeat(2,1fr)}.form-row,.prize-card,.prize-info dl,.future-prize-grid{grid-template-columns:1fr}}
.group-summary{padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}
.group-summary strong,.group-summary span{display:block}
.group-summary strong{font-size:22px;color:var(--violet)}
.group-summary span{font-size:11px;color:var(--muted);font-weight:800}
.groups-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.group-card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.group-card.group-complete{border-color:#afe5bf}
.group-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;background:#faf7fc;border-bottom:1px solid var(--border)}
.group-head strong,.group-head small{display:block}
.group-head strong{font-size:14px}
.group-head small{font-size:10px;color:var(--muted);margin-top:2px}
.group-state{border-radius:999px;padding:5px 7px;background:#fff3df;color:#a15712;font-size:10px;font-weight:900}
.group-complete .group-state{background:#e9f9ee;color:var(--green)}
.group-matches{display:grid}
.group-match{display:grid;grid-template-columns:48px 22px minmax(0,1fr) 32px 32px minmax(0,1fr) 22px;gap:4px;align-items:center;padding:7px 8px;border-top:1px solid #eef2f7}
.group-match:first-child{border-top:0}
.group-match.complete{background:#f5fcf7}
.flag{display:grid;place-items:center;text-align:center}
.flag-img{width:22px;height:16px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #0001}
.flag-placeholder{display:grid;place-items:center;width:22px;height:16px;border-radius:3px;background:#edf1f5;color:var(--muted);font-size:8px;font-weight:900}
.match-time{display:flex;flex-direction:column;line-height:1.05;color:var(--muted);font-size:9px;font-weight:800}
.match-time strong{display:block;margin-top:2px;color:var(--text);font-size:9px;white-space:nowrap}
.team-name{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-name.away{text-align:right}
.group-match input{width:32px;padding:6px 4px;border:1px solid var(--border);border-radius:8px;text-align:center;font-size:12px;font-weight:900;background:#fff}
.lock-label{grid-column:1 / -1;font-size:9px;font-weight:900;margin-top:-2px}
.lock-label.closed{color:var(--red)}
.lock-label.soon{color:#a15712}
.save-footer{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:1280px){.groups-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.groups-grid{grid-template-columns:1fr}.group-summary{width:100%}.save-footer .primary-button{width:100%}}
.result-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px}
.results-groups-grid{align-items:start}
.result-group-row{display:grid;grid-template-columns:24px minmax(0,1fr) 30px 30px minmax(0,1fr) 24px 46px;gap:5px;align-items:center;padding:7px 8px;border-top:1px solid #eef2f7;position:relative}
.result-group-row:first-child{border-top:0}
.result-group-row.exact{background:#ecfdf3}
.result-group-row.winner{background:#fff8e1}
.result-group-row.wrong{background:#fff1f1}
.result-group-row.pending{background:#f8fafc;color:var(--muted)}
.real-score{display:grid;place-items:center;width:30px;height:28px;border-radius:8px;background:#fff;border:1px solid var(--border);font-size:12px}
.result-points{justify-self:end;border-radius:999px;padding:5px 7px;background:#fff;color:var(--violet);font-size:10px;font-weight:900}
.user-prediction{grid-column:2 / 7;color:var(--muted);font-size:10px;margin-top:-2px}
.exact .result-points{color:var(--green)}
.winner .result-points{color:#a15712}
.wrong .result-points{color:var(--red)}
@media(max-width:900px){.result-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.result-summary-grid{grid-template-columns:1fr}.result-group-row{grid-template-columns:24px minmax(0,1fr) 28px 28px minmax(0,1fr) 24px}.result-points{grid-column:1 / -1;justify-self:start}.user-prediction{grid-column:1 / -1}}
.profile-hero-card{display:grid;grid-template-columns:92px minmax(0,1fr) 260px 180px;gap:16px;align-items:center;padding:18px;margin-bottom:14px;border-radius:22px;background:linear-gradient(135deg,#fff,#fbf7fc);border:1px solid var(--border);box-shadow:var(--shadow)}
.profile-hero-card>img{width:92px;height:92px;border-radius:24px;object-fit:cover;box-shadow:0 12px 30px #711d7822}
.profile-main h2{margin:0;font-size:28px}
.profile-main p{margin:4px 0;color:var(--muted);font-weight:800}
.profile-main span{display:inline-flex;margin-top:6px;padding:6px 9px;border-radius:999px;background:#f2e8f5;color:var(--violet);font-size:12px;font-weight:900}
.level-box{padding:13px;border-radius:16px;background:#fff;border:1px solid var(--border)}
.level-box small,.level-box strong,.level-box span{display:block}
.level-box small{color:var(--violet);font-weight:900}
.level-box strong{font-size:26px;margin:4px 0}
.level-box span{color:var(--muted);font-size:11px;font-weight:800}
.xp-bar{height:10px;border-radius:999px;background:#efe6f2;overflow:hidden;margin:7px 0}
.xp-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--violet),#16a34a)}
.profile-score{padding:14px;border-radius:18px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;text-align:center}
.profile-score strong,.profile-score span{display:block}
.profile-score strong{font-size:28px}
.profile-score span{font-size:12px;color:#f3e8f5;font-weight:800}
.profile-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:12px}
.profile-details{display:grid;gap:8px;margin:0}
.profile-details div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f7}
.profile-details dt{color:var(--muted);font-size:12px;font-weight:900}
.profile-details dd{margin:0;text-align:right;font-size:12px;font-weight:800}
.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.profile-stats div{padding:11px;border-radius:14px;background:#f8fafc;border:1px solid var(--border)}
.profile-stats strong,.profile-stats span{display:block}
.profile-stats strong{font-size:22px;color:var(--violet)}
.profile-stats span{font-size:11px;color:var(--muted);font-weight:800}
.badges-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.achievement{display:flex;gap:8px;align-items:center;padding:10px;border-radius:14px;border:1px solid var(--border);background:#f8fafc}
.achievement b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:10px;background:#fff;color:var(--violet);font-size:12px}
.achievement span{font-size:11px;font-weight:900}
.achievement.locked{opacity:.45;filter:saturate(.4)}
.activity-cards{display:grid;gap:8px}
.activity-cards div{padding:12px;border-radius:14px;background:#f8fafc;border:1px solid var(--border)}
.activity-cards small,.activity-cards strong,.activity-cards span{display:block}
.activity-cards small{color:var(--muted);font-size:11px;font-weight:900}
.activity-cards strong{margin-top:3px}
.activity-cards span{font-size:11px;color:var(--muted);margin-top:3px}
@media(max-width:1120px){.profile-hero-card{grid-template-columns:80px 1fr}.level-box,.profile-score{grid-column:1 / -1}.profile-grid{grid-template-columns:1fr}.profile-stats,.badges-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.profile-hero-card{grid-template-columns:1fr;text-align:center}.profile-hero-card>img{margin:auto}.profile-details div{display:block}.profile-details dd{text-align:left;margin-top:3px}.profile-stats,.badges-grid{grid-template-columns:1fr}}
.profile-settings-card{grid-template-columns:92px minmax(0,1fr) auto}
.profile-settings-grid{grid-template-columns:minmax(0,640px)}
@media(max-width:1120px){.profile-settings-card{grid-template-columns:80px minmax(0,1fr) auto}}
@media(max-width:720px){.profile-settings-card{grid-template-columns:1fr}.profile-edit-button{justify-self:stretch}}
