*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f7f6;color:#182523;font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:18px;padding:16px max(20px,calc((100% - 1080px)/2));border-bottom:1px solid #e0e8e4;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:8px;color:#103e39;text-decoration:none;font-size:1.15rem;font-weight:850;letter-spacing:-.02em}.brand-mark{display:inline-grid;place-items:center;width:20px;height:24px;border-radius:4px;background:#0b766e;color:#fff;font-size:1.25rem;line-height:1}.city{flex:1;color:#71807b;font-size:.92rem}.container{max-width:1080px;margin:auto;padding:56px 24px 28px}.hero{display:flex;justify-content:space-between;gap:42px;align-items:flex-end;padding:38px 42px;margin-bottom:28px;border:1px solid #d9ebe6;border-radius:22px;background:linear-gradient(135deg,#eaf7f3,#fff)}.hero h1,h1{font-size:clamp(2.25rem,6vw,4.6rem);line-height:.98;letter-spacing:-.055em;margin:.25em 0}.hero h1{max-width:680px}.hero .lead{max-width:610px}.eyebrow{margin:0;color:#0b766e;text-transform:uppercase;font-size:.72rem;font-weight:850;letter-spacing:.15em}.lead{font-size:1.12rem;color:#5d6d68;max-width:650px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #0b766e;border-radius:10px;padding:11px 18px;background:#0b766e;color:#fff;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.button:hover{background:#095f59;box-shadow:0 8px 18px #0b766e24;transform:translateY(-1px)}.button.small{min-height:38px;padding:7px 13px;font-size:.9rem}.button.secondary{border-color:#c8ded8;background:#e9f3f0;color:#075e59}.filters{display:grid;grid-template-columns:1.5fr 1fr 150px auto;gap:10px;margin-bottom:24px}input,select,textarea{width:100%;border:1px solid #d0dbd7;border-radius:10px;padding:12px 13px;background:#fff;color:#1d2a28;font:inherit;outline:none;transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:#0b766e;box-shadow:0 0 0 4px #0b766e18}textarea{min-height:110px;resize:vertical}.ranking{display:grid;gap:12px}.card{display:grid;grid-template-columns:42px 58px minmax(0,1fr);gap:16px;align-items:start;padding:20px;background:#fff;border:1px solid #e0e7e4;border-radius:16px;transition:border-color .18s,transform .18s,box-shadow .18s}.card:hover{border-color:#acd5cd;box-shadow:0 10px 26px #153f3910;transform:translateY(-1px)}.card.featured{border:1px solid #8bcfc1;box-shadow:0 12px 30px #0b766e14}.position{padding-top:7px;color:#0b766e;font-size:1.1rem;font-weight:900}.avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#dff1ed;color:#0b766e;font-size:1.35rem;font-weight:900}.card-content{min-width:0}.card-head{display:flex;gap:16px;align-items:flex-start}.card h2{min-width:0;margin:0;font-size:1.1rem;line-height:1.25;overflow-wrap:anywhere}.card strong{margin-left:auto;color:#0b766e;white-space:nowrap;font-size:1rem;font-variant-numeric:tabular-nums}.card p{margin:7px 0 14px;color:#5d6d68;overflow-wrap:anywhere}.card-meta{display:flex;align-items:center;gap:16px;color:#82908c;font-size:.9rem}.card-meta a{color:#0b766e;font-weight:800}.empty,.form-page,.payment,.profile{max-width:700px;margin:auto;padding:34px;background:#fff;border:1px solid #e0e7e4;border-radius:18px;box-shadow:0 12px 30px #153f3909}.empty{text-align:center}.form{display:grid;gap:17px;margin-top:24px}.form label{display:grid;gap:7px;font-weight:750}.form small,.muted{font-weight:400;color:#71807b}.alert{margin:18px 0;padding:14px 16px;border:1px solid #efd98d;border-radius:10px;background:#fff8dc;color:#685716}.alert.error{border-color:#f1bcb5;background:#fff0ee;color:#8d2e25}.qr{display:block;width:min(280px,100%);margin:22px auto;border-radius:14px;box-shadow:0 6px 20px #0001}.status{font-weight:850}.profile{text-align:center}.large{width:100px;height:100px;margin:auto;border-radius:24px;font-size:2.7rem}.profile-value{margin:25px 0;padding:20px;border-radius:12px;background:#edf7f4;color:#61736e}.profile-value strong{display:block;margin-top:4px;color:#0b766e;font-size:2rem}.footer{max-width:1080px;margin:26px auto;padding:20px 24px;display:flex;justify-content:space-between;gap:20px;color:#71807b;font-size:.9rem}.footer nav{display:flex;gap:18px}.footer a{color:inherit;text-decoration:none}.footer a:hover{color:#0b766e}@media(max-width:760px){.site-header{gap:10px;padding:13px 16px}.brand{font-size:1rem}.city{font-size:.78rem}.container{padding:30px 16px 20px}.hero{display:block;padding:27px 23px;border-radius:17px}.hero .button{margin-top:18px;width:100%}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.filters .button{grid-column:1/-1}.card{grid-template-columns:30px 48px minmax(0,1fr);gap:10px;padding:16px 13px}.avatar{width:48px;height:48px;border-radius:13px}.card-head{gap:8px}.card h2{font-size:1rem}.card strong{font-size:.9rem}.card-meta{flex-wrap:wrap;gap:8px}.empty,.form-page,.payment,.profile{padding:24px 18px}.footer{display:block;padding:18px 16px}.footer nav{margin-top:10px;flex-wrap:wrap}}@media(max-width:390px){.city{display:none}.filters{grid-template-columns:1fr}.filters input,.filters .button{grid-column:auto}.card{grid-template-columns:26px 42px minmax(0,1fr)}.avatar{width:42px;height:42px}.card-head{display:block}.card strong{display:block;margin:6px 0 0}.card p{margin-top:8px}}
.avatar-photo{overflow:hidden;padding:0}.avatar-photo img{display:block;width:100%;height:100%;object-fit:cover}.profile>.avatar-photo{display:block;object-fit:cover}

/* Limites rígidos das imagens dos cards do ranking */
.card .avatar.avatar-photo{display:block;width:58px;height:58px;min-width:58px;max-width:58px;min-height:58px;max-height:58px;padding:0;overflow:hidden;border-radius:16px;position:relative}
.card .avatar.avatar-photo img{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:cover;object-position:center}
.profile>.avatar.avatar-photo{display:block;width:100px;height:100px;max-width:100px;max-height:100px;padding:0;overflow:hidden}
.profile>.avatar.avatar-photo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}
@media(max-width:760px){.card .avatar.avatar-photo{width:48px;height:48px;min-width:48px;max-width:48px;min-height:48px;max-height:48px}}

/* Ajustes da tela inicial: foco no pódio e leitura rápida */
.hero-compact{align-items:center;padding-top:30px;padding-bottom:30px}.hero-compact h1{margin:0}.card{column-gap:24px}.card.podium-1{background:#fffaf0;border-color:#ead7a1}.card.podium-2{background:#f5f8fb;border-color:#c8d6e5}.card.podium-3{background:#fff6f2;border-color:#e9c9bb}.card.podium-1 .position{color:#a77913}.card.podium-2 .position{color:#5e7894}.card.podium-3 .position{color:#a66a54}.participant-link{color:inherit;text-decoration:none;border-bottom:2px solid #b8dcd5}.participant-link:hover{color:#0b766e;border-bottom-color:#0b766e}.card-meta a{white-space:nowrap}@media(max-width:760px){.hero-compact{padding-top:24px;padding-bottom:24px}.card{column-gap:14px}}

/* Busca única e título compacto para telas móveis */
.hero-compact h1{font-size:clamp(2.15rem,5.3vw,4rem);white-space:nowrap;letter-spacing:-.06em}
.search-form{margin:0 0 24px}.search-box{position:relative;display:block;max-width:620px}.search-box input{height:50px;padding:12px 58px 12px 16px;border-radius:12px}.search-box button{position:absolute;top:5px;right:5px;width:40px;height:40px;border:0;border-radius:9px;background:#0b766e;color:#fff;font-size:1.65rem;line-height:1;cursor:pointer}.search-box button:hover{background:#095f59}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-content{padding-left:8px}
@media(max-width:760px){.hero-compact h1{font-size:clamp(1.72rem,6.1vw,2.45rem);white-space:nowrap}.search-box{max-width:none}.card-content{padding-left:7px}.card .avatar.avatar-photo{margin-right:8px}}
@media(max-width:390px){.hero-compact h1{font-size:1.62rem;letter-spacing:-.07em}.card-content{padding-left:5px}}

.pix-label{display:block;margin-top:18px;font-weight:800}.pix-copy-row{display:flex;gap:8px;align-items:stretch;margin-top:7px}.pix-copy-row input{min-width:0;flex:1;font-size:.88rem}.copy-button{flex:0 0 auto;min-height:48px}.copy-button.copied{background:#247b55;border-color:#247b55}.copy-feedback{min-height:24px;margin:8px 0 0;color:#247b55;font-size:.9rem;font-weight:700}@media(max-width:520px){.pix-copy-row{display:grid;grid-template-columns:1fr}.copy-button{width:100%}}
.admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.admin-actions form{margin:0}.button.danger{border-color:#b7473c;background:#b7473c}.button.danger:hover{background:#96372f}@media(max-width:520px){.admin-actions form,.admin-actions .button{width:100%}}

/* Correção de leitura horizontal no painel administrativo */
.form-page .card{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.form-page .card-content{width:100%;min-width:0;padding-left:0}.form-page .card h2,.form-page .card p,.form-page .card strong,.form-page .card a,.form-page .card button{writing-mode:horizontal-tb;text-orientation:mixed;word-break:normal;overflow-wrap:normal;white-space:normal}.form-page .card-head{width:100%;min-width:0}.form-page .card-head h2{flex:1;min-width:0}.form-page .card-head strong{flex:0 0 auto}.admin-actions{width:100%;display:flex;flex-direction:row;align-items:center}.admin-actions form{display:inline-flex;flex:0 0 auto}.admin-actions .button{white-space:nowrap;writing-mode:horizontal-tb}
@media(max-width:520px){.form-page .card-head{display:flex;flex-wrap:wrap}.form-page .card-head strong{margin-left:0}.admin-actions{flex-direction:column;align-items:stretch}.admin-actions form,.admin-actions .button{width:100%}}

/* TopState dark urban theme */
:root{color-scheme:dark}body{background:#080a0d;color:#f1f3f5}.site-header{border-bottom-color:#252b33;background:rgba(8,10,13,.92)}.brand{color:#f1f3f5}.brand>span:last-child>span{color:#f2b632}.brand-mark{width:28px;height:28px;border-radius:7px;background:#f2b632;color:#080a0d;font-weight:950}.city{color:#74808c}.button{border-color:#f2b632;background:#f2b632;color:#080a0d}.button:hover{background:#ffca55;box-shadow:0 10px 26px #f2b63224}.button.secondary{border-color:#37414d;background:#20262e;color:#f1f3f5}.portal-hero{position:relative;isolation:isolate;min-height:430px;margin:-56px -24px 30px;padding:100px max(24px,calc((100% - 1100px)/2));display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(8,10,13,.97),rgba(8,10,13,.78) 42%,rgba(8,10,13,.38)),url('../images/topstate-city.webp') center/cover}.portal-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#080a0d,transparent 22%,transparent 75%,#080a0d)}.portal-copy{max-width:680px}.portal-hero h1,.ranking-hero h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.92;letter-spacing:-.065em;margin:.25em 0}.portal-hero h1 span,.ranking-hero h1 span{color:#f2b632}.lead{color:#a4adb7}.hero-badge{margin-left:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;place-items:center;width:154px;height:154px;border:1px solid #f2b632;border-radius:50%;background:#080a0dcc;box-shadow:0 0 0 10px #f2b63212}.hero-badge .brazil-flag{grid-column:1/-1;align-self:end;font-size:2.1rem;line-height:1}.hero-badge strong{align-self:start;color:#f2b632;font-size:1.9rem;line-height:1.1}.hero-badge small{align-self:start;color:#a4adb7;font-size:.64rem;line-height:1.2;letter-spacing:.08em}.server-section{padding-bottom:36px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.section-heading h2{margin:.15em 0;font-size:2.1rem;letter-spacing:-.04em}.server-count{color:#8895a1}.server-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.server-card{display:grid;grid-template-columns:36px 1fr 28px;align-items:center;gap:12px;padding:18px 16px;border:1px solid #242c34;border-radius:12px;background:#15191f;color:#f1f3f5;text-decoration:none;transition:transform .18s,border-color .18s,background .18s}.server-card:hover{transform:translateY(-2px);border-color:#f2b632;background:#1b222a}.server-index{color:#6e7a86;font-size:.78rem;font-weight:900}.server-main{display:grid;gap:2px}.server-main strong{font-size:1.05rem}.server-main small{color:#77838f;font-size:.78rem;letter-spacing:.08em}.server-arrow{color:#f2b632;font-size:1.3rem;text-align:right}.ranking-hero{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px;padding:30px 0;border-bottom:1px solid #242c34}.back-link{color:#9da8b4;text-decoration:none}.back-link:hover{color:#f2b632}.ranking-filters{display:flex;gap:10px;margin-bottom:22px}.ranking-filters .search-box{flex:1}.ranking-filters select{max-width:220px}.search-box input,input,select,textarea{background:#15191f;border-color:#343e49;color:#f1f3f5}.search-box button{background:#f2b632;color:#080a0d}.card{background:#15191f;border-color:#242c34;box-shadow:none}.card:hover{border-color:#55616d;box-shadow:0 12px 30px #0005}.card p{color:#98a3ae}.card strong,.card-meta a{color:#f2b632}.card.featured{border-color:#f2b632;background:#1b1a16}.card.podium-2{background:#171b21;border-color:#53606e}.card.podium-3{background:#1b1917;border-color:#705848}.position{color:#f2b632}.avatar{background:#252d36;color:#f2b632}.empty,.form-page,.payment,.profile{background:#15191f;border-color:#2b343e;box-shadow:none}.footer{color:#74808c}.footer a:hover{color:#f2b632}.alert{background:#2a2414;border-color:#92751e;color:#f4d777}.alert.error{background:#301b1a;border-color:#8d4037;color:#ffaaa2}
@media(max-width:760px){.portal-hero{min-height:315px;margin:-30px -16px 22px;padding:54px 18px 24px;align-items:flex-start;gap:10px;background-position:62% center}.portal-copy{flex:1;min-width:0;padding-top:8px}.portal-hero h1{font-size:clamp(2.25rem,10.5vw,3.45rem);line-height:.94;margin:.2em 0 .35em}.portal-hero .lead{font-size:.98rem;line-height:1.4;margin:0;max-width:250px}.hero-badge{position:static;flex:0 0 86px;width:86px;height:86px;margin:8px 0 0 auto;box-shadow:0 0 0 6px #f2b63212}.hero-badge .brazil-flag{font-size:1.35rem}.hero-badge strong{font-size:1.05rem}.hero-badge small{font-size:.43rem}.server-section{padding-top:0}.section-heading{align-items:center}.section-heading h2{font-size:1.65rem}.server-count{font-size:.78rem}.server-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.server-card{grid-template-columns:26px minmax(0,1fr) 20px;padding:15px 10px;gap:7px}.server-main strong{font-size:.95rem}.server-main small{font-size:.67rem}.server-arrow{font-size:1.05rem}.ranking-hero{display:block}.ranking-hero .button{width:100%;margin-top:20px}.ranking-filters{display:grid;grid-template-columns:1fr}.ranking-filters select{max-width:none}}
@media(max-width:430px){.portal-hero{min-height:290px;padding-top:34px;padding-bottom:20px}.portal-hero h1{font-size:clamp(2.05rem,10vw,2.8rem)}.portal-hero .lead{font-size:.9rem}.hero-badge{flex-basis:78px;width:78px;height:78px}.hero-badge .brazil-flag{font-size:1.15rem}.hero-badge strong{font-size:.95rem}.hero-badge small{font-size:.38rem}.section-heading{display:block}.server-count{display:block;margin-top:5px}.server-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.server-card{padding:14px 9px}.server-main strong{font-size:.9rem}.server-main small{font-size:.6rem}.server-index{font-size:.68rem}}

/* Selo Brasil: a bandeira ocupa toda a bolinha */
.hero-badge{display:block;position:relative;overflow:hidden;background-color:#169447;background-image:radial-gradient(circle at 50% 50%,#1b42a0 0 18%,transparent 19%),linear-gradient(45deg,transparent 34%,#f5d33d 35% 65%,transparent 66%);border:3px solid #f5d33d;box-shadow:0 0 0 5px #080a0d,0 0 0 7px #f2b63255}
.hero-badge:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 45%,#0003 100%);pointer-events:none}.hero-badge>*{display:none!important}

/* Bandeira oficial do Brasil em SVG, recortada dentro do selo circular */
.hero-badge{background:#169447 url('../images/brazil-flag.svg') center/cover no-repeat;border:3px solid #f5d33d}
.hero-badge:after{display:none}

/* Logo oficial TopState no cabeçalho */
.brand-logo{display:block;width:clamp(116px,13vw,166px);height:auto;max-height:42px;object-fit:contain;object-position:left center}.brand{min-width:0}.site-header .brand{flex:0 0 auto}.site-header .city{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.brand-logo{width:132px;max-height:36px}.site-header .city{font-size:.7rem}}
@media(max-width:390px){.brand-logo{width:116px}.site-header .city{display:none}}
