/* EliteMC 2026 — camada visual. Mantém os seletores funcionais em app.js intactos. */
:root {
  --ink:#f5f8f4; --muted:#91a198; --bg:#07100b; --panel:#101914; --panel-soft:#16221b;
  --line:#29382f; --line-bright:#3d5545; --green:#78e05d; --green-dark:#2f7d3c;
  --gold:#f4c95d; --red:#ff7168; --cyan:#65d7cf;
  --radius:14px; --shadow:0 22px 70px #0008; --pixel-shadow:4px 4px 0 #020503;
  font-family:Inter,"Segoe UI",system-ui,sans-serif;
}

body { background:#07100b; }
.sky { background:
  radial-gradient(circle at 76% 8%,#60d55d22 0 10%,transparent 35%),
  radial-gradient(circle at 12% 58%,#1f844b16 0 8%,transparent 34%),
  linear-gradient(145deg,#0c1811 0%,#060c08 55%,#09110c 100%); }
.sky::before { opacity:.17; background-size:48px 48px; mask-image:linear-gradient(to bottom,#000 0 44%,transparent 85%); }
.sky::after { width:34vw; height:34vw; top:auto; right:-10vw; bottom:-15vw; border-radius:0; background:#3d9b5020; filter:blur(70px); transform:rotate(18deg); }
.sky > span { position:absolute; display:block; width:7px; height:7px; background:#a5f08d; opacity:.28; box-shadow:0 0 15px #78e05d; animation:float-particle 9s ease-in-out infinite; }
.sky > span:nth-child(1){left:8%;top:18%}.sky > span:nth-child(2){right:14%;top:35%;animation-delay:-3s}.sky > span:nth-child(3){left:58%;top:72%;animation-delay:-6s}
@keyframes float-particle { 50% { transform:translateY(-18px); opacity:.65; } }

/* Login */
.login-shell { width:min(1220px,calc(100% - 64px)); grid-template-columns:1.15fr minmax(390px,.72fr); gap:clamp(55px,8vw,120px); }
.login-hero { position:relative; z-index:1; }
.brand-block { flex-direction:row; align-items:center; gap:18px; margin-bottom:clamp(48px,7vh,78px); }
.brand-logo { width:82px; border:1px solid #52745c; border-radius:14px; box-shadow:var(--pixel-shadow),0 20px 50px #0008; image-rendering:auto; }
.brand-block > div { display:grid; gap:5px; }
.brand-block strong { color:#fff; font-size:25px; font-weight:950; letter-spacing:-1px; line-height:1; }
.brand-block strong span,.mini-brand em { color:var(--green); font-style:normal; }
.brand-block small { color:#819087; font-size:8px; letter-spacing:3.2px; }
.hero-kicker { width:max-content; padding:7px 10px; color:#ccdbd0; background:#112019b5; border:1px solid #2c4635; border-radius:999px; backdrop-filter:blur(8px); }
.hero-kicker span { border-radius:2px; animation:status-pulse 1.8s infinite; }
.hero-kicker b { font:inherit; }
.hero-kicker.checking span { background:var(--gold); box-shadow:0 0 13px var(--gold); }
.hero-kicker.offline { color:#ffd3d0; background:#2a1213b5; border-color:#683536; }
.hero-kicker.offline span { background:var(--red); box-shadow:0 0 13px var(--red); animation:none; }
.hero-kicker.online span { background:var(--green); }
@keyframes status-pulse { 50% { opacity:.35; box-shadow:0 0 3px var(--green); } }
.login-hero > h1 { max-width:660px; font-size:clamp(54px,7vw,88px); letter-spacing:-5.5px; text-wrap:balance; }
.login-hero > h1 em { position:relative; background:linear-gradient(110deg,#a8f691,#55c970); -webkit-background-clip:text; background-clip:text; color:transparent; }
.login-hero > p:not(.hero-kicker) { max-width:570px; color:#9dada3; }
.hero-features { gap:10px; }
.hero-features span { display:flex; align-items:center; gap:8px; padding:9px 13px; color:#c9d4cd; background:#101a14b8; border:1px solid #283a2f; border-radius:8px; backdrop-filter:blur(8px); }
.hero-features i { color:var(--green); font-style:normal; }
.world-preview { position:absolute; z-index:-1; right:-35px; bottom:-15px; width:250px; height:160px; opacity:.35; pointer-events:none; filter:drop-shadow(0 30px 26px #000); }
.sun-cube { position:absolute; top:5px; right:20px; width:32px; height:32px; background:#c6ff91; box-shadow:0 0 38px #81e66f; }
.island { position:absolute; right:0; bottom:0; width:190px; height:72px; background:linear-gradient(#55984e 0 15px,#61503b 15px 45px,#40382d 45px); clip-path:polygon(0 0,100% 0,82% 55%,63% 55%,55% 100%,38% 67%,23% 67%); }
.island i { position:absolute; top:-26px; width:24px; height:28px; background:#518d48; border-top:8px solid #65bb57; }
.island i:nth-child(1){left:15px}.island i:nth-child(2){left:43px;height:46px;top:-44px}.island i:nth-child(3){left:87px}.island i:nth-child(4){left:126px;height:38px;top:-36px}.island i:nth-child(5){right:8px}
.pixel-panel,.card,.home-widget { border-radius:var(--radius); }
.login-card { padding:clamp(30px,4vw,46px); background:linear-gradient(145deg,#17231bfa,#0c140ff7); border:1px solid #38503f; box-shadow:inset 0 1px #ffffff10,var(--shadow),var(--pixel-shadow); backdrop-filter:blur(18px); }
.login-card::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(135deg,#8dff7630,transparent 18%,transparent 82%,#ffffff08); }
.torch { top:24px; right:27px; width:9px; height:9px; background:var(--green); border-radius:2px; transform:none; box-shadow:0 0 18px #70e65e; }
.torch::after { content:"ONLINE"; position:absolute; top:-2px; right:16px; color:#8da094; font-size:7px; font-weight:900; letter-spacing:1px; }
.login-card h2 { font-size:clamp(26px,3vw,35px); }
label { color:#cad5ce; letter-spacing:.2px; }
input,select,textarea { padding:14px 15px; background:#08100bbf; border:1px solid #33483a; border-radius:9px; box-shadow:inset 0 1px 0 #0008; }
input:hover,select:hover,textarea:hover { border-color:#496451; }
input:focus,select:focus,textarea:focus { border-color:#6fca5c; box-shadow:0 0 0 4px #78e05d13; }
.automatic-code,.command-copy { border-radius:10px; }

/* Ações */
.mc-button { min-height:43px; padding:10px 17px; border:1px solid #65756a; border-radius:8px; box-shadow:0 5px 14px #0004; transition:transform .18s,filter .18s,border-color .18s,box-shadow .18s; }
.mc-button:hover { filter:brightness(1.12); transform:translateY(-1px); box-shadow:0 8px 20px #0005; }
.mc-button:active { transform:translateY(1px); box-shadow:0 2px 7px #0005; }
.mc-button.primary { background:linear-gradient(135deg,#4caf45,#287b42); border-color:#75d165; box-shadow:0 8px 24px #3fb14b25; }
.mc-button.danger { background:linear-gradient(135deg,#a84948,#793534); border-color:#d4726c; }
.mc-button.gold { background:linear-gradient(135deg,#b88a32,#7a5a20); border-color:#e0bd68; }
.mc-button.ghost { background:#ffffff05; border-color:#3c5042; }
.badge { padding:5px 9px; border-radius:999px; }

/* Navegação */
.topbar { height:82px; gap:18px; padding:0 max(26px,calc((100vw - 1440px)/2)); background:#09110de8; border-bottom:1px solid #2c4034; box-shadow:0 15px 45px #0007; backdrop-filter:blur(22px) saturate(1.3); }
.mini-brand { min-width:151px; }
.mini-brand img { width:46px; height:46px; border-radius:11px; border-color:#4c6955; box-shadow:3px 3px #020503; }
.mini-brand > span { display:grid; gap:3px; }
.mini-brand strong { font-size:15px; font-weight:950; letter-spacing:-.4px; }
.mini-brand small { color:#708077; font-size:6px; font-weight:900; letter-spacing:1.7px; }
.topbar nav { gap:3px; overflow:hidden; }
.topbar nav a { position:relative; gap:3px; min-width:57px; padding:0 10px; margin:10px 0; border:0; border-radius:9px; font-size:10px; }
.topbar nav a::before { content:attr(data-icon); color:#718178; font-size:15px; font-weight:400; }
.topbar nav a::after { content:""; position:absolute; left:16px; right:16px; bottom:3px; height:2px; background:var(--green); border-radius:2px; opacity:0; transform:scaleX(.4); transition:.2s; }
.topbar nav a:hover,.topbar nav a.active { color:#f2f7f3; background:#ffffff08; border:0; }
.topbar nav a:hover::before,.topbar nav a.active::before { color:var(--green); }
.topbar nav a.active::after { opacity:1; transform:none; }
.player-menu { padding:7px 8px 7px 7px; background:#101a14; border:1px solid #2b3d31; border-radius:11px; }
.player-menu img { border-radius:7px; image-rendering:pixelated; }
.player-menu button { width:28px; height:28px; display:grid; place-items:center; margin-left:4px; border-radius:7px; }
.player-menu button:hover { color:#fff; background:#7e3636; }
.nav-toggle { width:42px; height:42px; border:1px solid #33483a; border-radius:9px; }

/* Conteúdo e cartões */
#content { width:min(1320px,calc(100% - 48px)); margin:48px auto 100px; }
.page-head { position:relative; margin-bottom:30px; padding-left:18px; }
.page-head::before { content:""; position:absolute; inset:2px auto 2px 0; width:4px; background:linear-gradient(var(--green),#2c7d48); border-radius:4px; box-shadow:0 0 16px #78e05d55; }
.page-head h1 { font-size:clamp(31px,4vw,46px); letter-spacing:-2px; }
.sync { padding:7px 10px; background:#0e1912; border:1px solid #26382d; border-radius:999px; }
.grid { gap:20px; }
.card,.home-widget { position:relative; background:linear-gradient(145deg,#142019f5,#0e1712f5); border:1px solid #293b30; box-shadow:inset 0 1px #ffffff08,0 13px 35px #0003; }
.card::before,.home-widget::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; border-radius:inherit; background:linear-gradient(135deg,#ffffff06,transparent 26%); }
.card > *,.home-widget > * { position:relative; z-index:1; }
.card:hover { border-color:#344b3b; }
.home-welcome { padding:24px 25px; border-left:0; overflow:hidden; }
.home-welcome::after { content:""; position:absolute; right:-30px; top:-45px; width:155px; height:155px; border:25px solid #78e05d0b; transform:rotate(30deg); }
.home-grid { gap:18px; }
.home-widget { min-height:190px; padding:24px; border-radius:14px; box-shadow:0 13px 34px #0003; }
.home-widget:hover { border-color:#5a8064; transform:translateY(-4px); box-shadow:0 20px 44px #0005; }
.home-widget.featured { background:linear-gradient(125deg,#1d3824,#101a14 70%); border-color:#3e6749; }
.server-widget { cursor:default; }
.server-widget.server-online { background:linear-gradient(135deg,#163721,#0e1b14); border-color:#3f744b; }
.server-widget.server-offline { background:linear-gradient(135deg,#301819,#171112); border-color:#67393a; }
.server-widget.server-offline .home-widget-icon { color:#2b0d0d; background:var(--red); border-color:#ffaaa4 #8b3a37 #8b3a37 #ffaaa4; }
.server-widget.server-offline strong { color:#ff8c84; font-size:21px; }
.server-signal { position:absolute; right:19px; bottom:18px; display:flex; align-items:end; gap:3px; height:22px; }
.server-signal i { width:4px; background:var(--green); border-radius:2px 2px 0 0; box-shadow:0 0 8px #78e05d66; }
.server-signal i:nth-child(1){height:7px}.server-signal i:nth-child(2){height:13px}.server-signal i:nth-child(3){height:20px}
.server-offline .server-signal i { height:4px; background:var(--red); box-shadow:none; }
.home-widget-icon,.calendar-icon,.elitegram-logo,.group-avatar { border-radius:9px; box-shadow:3px 3px #071109; }
.stat::after { border-radius:8px; }
.list { gap:9px; }
.list-row,.candidate,.score-row,.budget-item,.research-question { background:#0a130eaa; border:1px solid #24352b; border-radius:9px; }
.research-card details { overflow:hidden; border-radius:10px; background:#0a130e; }
.research-card summary { padding:13px 14px; }
.research-card details[open] summary { color:var(--ink); background:#14221a; border-bottom:1px solid var(--line); }
.research-card details[open] summary::marker { color:var(--green); }
.research-card .research-chart { margin:12px; background:linear-gradient(145deg,#0d1711,#09110c); }
.list-row { border-left:3px solid #3e5948; }
.candidate .number,.rank-position { border-radius:8px; }
.account-tabs { padding:5px; background:#0b130e; border:1px solid #24352b; border-radius:11px; }
.account-tab { flex:1; border:0; border-radius:7px; }
.account-tab.active { background:linear-gradient(135deg,#397d3c,#265d36); box-shadow:0 5px 15px #0004; }
.empty { border-radius:10px; background:#0a120d80; }

/* Blocos especiais */
.election-current,.history-card { border-radius:var(--radius); }
.election-summary { background:linear-gradient(110deg,#1b3422,#101a14); }
.counting-progress,.vote-complete,.history-march,.election-application { border-radius:10px; }
.counting-candidate,.history-chart-row,.history-metrics>div { border-radius:9px; }
.counting-evolution { border-radius:11px; background:#0a130e; }
.counting-evolution svg { padding:8px; }
.calendar-card { border-radius:14px; box-shadow:0 13px 35px #0003; }
.calendar-card::before { width:4px; }
.history-card-summary { border-radius:14px 14px 0 0; }
.history-round-tab:first-child { border-radius:8px 0 0; }
.card.newspaper-cover { color:#25261e; background:
  linear-gradient(90deg,#6f5a3520 1px,transparent 1px),
  linear-gradient(#6f5a3514 1px,transparent 1px),
  linear-gradient(120deg,#f2e8c9,#d6c49b); background-size:24px 24px,24px 24px,auto;
  border-color:#f7e8b9; border-radius:14px; box-shadow:inset 0 1px #fff9d9,0 15px 35px #0004; }
.card.newspaper-cover::before { background:linear-gradient(135deg,#fff9d94d,transparent 35%,#7e61331c); }
.newspaper-cover .eyebrow { color:#8b6828; }
.newspaper-cover h2 { color:#20241d; }
.newspaper-cover p:not(.eyebrow) { color:#586053; }
.receipt,.stock-grid article,.investment-grid article,.consolidated-grid>div { border-radius:10px; }
.consolidated { background:linear-gradient(135deg,#193421,#0d1711); box-shadow:0 18px 50px #0004; }
.investment-chart { padding:5px; background:#0a120d; border:1px solid #24352b; border-radius:8px; }
.search-bar,.page-actions { border-radius:12px; }
.profile-stats { overflow:hidden; border-radius:11px; }

/* Configurações e comunicação */
.settings-profile { background:linear-gradient(125deg,#1d3824,#0d1711); border-color:#3b6245; }
.settings-avatar img { border-radius:11px; }
.theme-option { border-radius:10px; }
.theme-preview { border-radius:6px; }
.access-icon { border-radius:8px; }
.elitegram-toggle { border-radius:14px; box-shadow:var(--pixel-shadow),0 0 35px #72db5844; }
.elitegram-panel { border-radius:16px; background:#0b140f; box-shadow:0 28px 90px #000c; }
.elitegram-head { background:#101b14; }
.conversation-item:hover,.conversation-item.active { background:#17241b; }
.chat-message>div { border-radius:11px 11px 11px 3px; }
.chat-message.mine>div { border-radius:11px 11px 3px 11px; background:linear-gradient(135deg,#2c6a37,#245831); }
.toast,.modal { border-radius:12px; }
.modal-backdrop { background:#020704d9; backdrop-filter:blur(10px); }
.modal { box-shadow:0 25px 90px #000c; }

.site-footer { gap:14px; padding:32px; background:#070e0a; }
.site-footer img { border-radius:9px; }
.site-footer div { display:grid; gap:4px; text-align:left; }
.site-footer strong { color:#a6b3aa; font-size:8px; letter-spacing:1.5px; }
.site-footer span { font-size:8px; }
.site-footer .status-dot { width:6px; height:6px; margin-right:5px; }

/* Tema claro */
html[data-theme="light"] { --ink:#18221b;--muted:#637168;--bg:#edf3ed;--panel:#fff;--panel-soft:#f4f8f4;--line:#c7d4c9;--line-bright:#aabcae; }
html[data-theme="light"] .sky { background:radial-gradient(circle at 75% 5%,#7bdc7640,transparent 33%),linear-gradient(145deg,#f7fbf7,#e8f0e9); }
html[data-theme="light"] .topbar { background:#f8fcf8e8; }
html[data-theme="light"] .card,html[data-theme="light"] .home-widget { background:linear-gradient(145deg,#fff,#f2f7f3); }
html[data-theme="light"] .list-row,html[data-theme="light"] .candidate,html[data-theme="light"] .score-row { background:#f8fbf8; }
html[data-theme="light"] .player-menu,html[data-theme="light"] .account-tabs { background:#eef5ef; }
html[data-theme="light"] .topbar nav a.active,html[data-theme="light"] .topbar nav a:hover { color:#152019; background:#2f753b10; }
html[data-theme="light"] .research-card details { background:#f5f9f5; }
html[data-theme="light"] .research-card details[open] summary { background:#eaf3eb; }
html[data-theme="light"] .research-card .research-chart { background:linear-gradient(145deg,#fff,#f2f7f3); }
html[data-theme="light"] .research-bar-track { background:#dfe9e1; border-color:#c5d4c8; box-shadow:inset 0 1px 3px #52645522; }
html[data-theme="light"] .stock-order-summary>div { background:#f5f9f5; }
html[data-theme="light"] .stock-order-summary .stock-order-total { background:linear-gradient(125deg,#e3f3e5,#f8fbf8); }
html[data-theme="light"] .stock-order-summary.sell .stock-order-total { background:linear-gradient(125deg,#e2f0f1,#f8fbf8); }

@media (max-width:1500px) {
  .nav-toggle { display:block; }
  .topbar nav { position:absolute; top:82px; left:auto; right:max(20px,calc((100vw - 1320px)/2)); display:none; width:min(390px,calc(100vw - 40px)); height:auto; max-height:calc(100vh - 105px); overflow:auto; padding:10px; background:#0c1510f5; border:1px solid #324639; border-radius:14px; box-shadow:0 25px 70px #000b; backdrop-filter:blur(20px); flex-direction:column; }
  .topbar nav.open { display:flex; }
  .topbar nav a { min-height:49px; display:flex; justify-content:flex-start; gap:13px; margin:0; padding:0 15px; font-size:12px; }
  .topbar nav a::after { inset:auto auto 8px 42px; width:28px; }
  html[data-theme="light"] .topbar nav { background:#f8fcf8f5; }
}
@media (max-width:760px) {
  .login-shell { width:min(100% - 28px,520px); }
  .login-hero { display:grid; justify-items:center; }
  .brand-block { margin-bottom:25px; }
  .world-preview { display:none; }
  .topbar { height:72px; }
  .topbar nav { top:76px; right:11px; width:calc(100vw - 22px); }
  .mini-brand { min-width:0; margin-right:auto; }
  .mini-brand > span { display:none; }
  #content { width:min(100% - 24px,1320px); margin-top:31px; }
  .home-widget { min-height:165px; }
  .page-head { padding-left:14px; }
  .elitegram-panel { border-radius:0; }
}
@media (max-width:480px) {
  .brand-block { gap:13px; }
  .brand-logo { width:66px; }
  .brand-block strong { font-size:21px; }
  .login-hero > h1 { letter-spacing:-3.5px; }
  .player-menu { background:transparent; border:0; padding:0; }
  .research-bar-row>div:first-child,.research-chart footer { align-items:flex-start; flex-direction:column; gap:4px; }
  .research-card .research-chart { margin:8px; padding:12px; }
  .stock-order-summary { grid-template-columns:1fr; }
  .stock-order-summary .stock-order-total { grid-column:auto; align-items:flex-start; flex-direction:column; gap:5px; }
}
