:root{--bg-a: #000000;--bg-b: #001429;--ink: #001429;--panel: #0d1a2e;--panel-2: #14243c;--line: rgba(255, 255, 255, .1);--line-soft: rgba(255, 255, 255, .06);--fundo-pagina: transparent;--sombra: 0 1px 2px rgba(0, 0, 0, .28), 0 16px 34px -20px rgba(0, 0, 0, .8);--sombra-alta: 0 2px 6px rgba(0, 0, 0, .3), 0 26px 52px -22px rgba(0, 0, 0, .9);--text: #ffffff;--text-dim: #b0b0b0;--text-faint: #74808d;--charge: #ccb054;--charge-dim: #4a3f22;--charge-text-strong: #ccb054;--live: #4AB39B;--live-bg: #142B27;--warn: #CB934D;--warn-bg: #2C2318;--late: #CE6469;--late-bg: #2A1A1C;--radius: 14px;--mono: "Inter", system-ui, sans-serif;--display: "Space Grotesk", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif}html[data-theme=light]{--ink: #ffffff;--panel: #ffffff;--panel-2: #f1f3f6;--line: rgba(0, 20, 41, .11);--line-soft: rgba(0, 20, 41, .07);--fundo-pagina: #f5f6f8;--sombra: 0 1px 2px rgba(16, 24, 40, .05), 0 12px 28px -16px rgba(0, 20, 41, .28);--sombra-alta: 0 2px 6px rgba(16, 24, 40, .07), 0 20px 40px -18px rgba(0, 20, 41, .35);--text: #000000;--text-dim: #555555;--text-faint: #8a8a8a;--charge-dim: #f1e4bd;--charge-text-strong: #8a6d1f;--warn: #936125;--late: #9F2D33;--live: #2E7667;--live-bg: #e4f2ee;--warn-bg: #f6eddf;--late-bg: #f7e4e4}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:linear-gradient(160deg,var(--bg-a) 0%,var(--bg-b) 60%,var(--bg-b) 100%);color:var(--text);font-family:var(--body);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}html[data-theme=light] body{background:var(--fundo-pagina)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.btn{background:linear-gradient(180deg,#d9c074 0%,var(--charge) 52%,#bfa349 100%);color:#17140a;border:none;border-radius:999px;padding:9px 18px;font-weight:600;font-size:13px;letter-spacing:.01em;box-shadow:0 1px 2px #0000001f,0 8px 18px -11px #ccb054f2;transition:transform .14s ease,box-shadow .18s ease,filter .18s ease}.btn:hover{filter:brightness(1.05);box-shadow:0 2px 5px #00000024,0 14px 26px -11px #ccb054}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;filter:none}.btn.ghost{background:none;box-shadow:none;border:1px solid var(--line);color:var(--text-dim);font-weight:500}.btn.ghost:hover{border-color:var(--text-faint);color:var(--text)}.linkbtn{background:none;border:none;padding:0;color:var(--text-faint);font-size:12px;text-decoration:underline}.linkbtn:hover{color:var(--text-dim)}.head{margin-bottom:22px}.head h1{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.03em;margin:0 0 5px;color:var(--text)}.head p{margin:0;color:var(--text-dim);font-size:13px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}.field label{font-size:12px;color:var(--text-dim);font-weight:500}.input{background:var(--ink);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 12px;width:100%;transition:border-color .16s ease,box-shadow .16s ease}.input:focus{outline:none;border-color:var(--charge);box-shadow:0 0 0 3px #ccb05438}.err{background:var(--late-bg);border:1px solid #4A2427;color:var(--late);padding:10px 13px;border-radius:10px;font-size:13px;margin-bottom:13px}html[data-theme=light] .err{border-color:#f3b4b6}.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 18px;background:linear-gradient(160deg,#000,#001429 58%,#00203c)}.login-box{width:100%;max-width:384px;position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px 30px 30px;box-shadow:0 32px 74px -32px #000000c7}.login-box:before{content:"";position:absolute;top:-1px;left:26px;right:26px;height:1px;background:linear-gradient(90deg,transparent,var(--charge),transparent)}.login-box p.sub{color:var(--text-dim);font-size:13.5px;text-align:center;margin:0 0 24px}.login-risco{height:1px;margin:0 0 22px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.login-box .field{margin-bottom:15px}.login-box .btn{width:100%;margin-top:7px;min-height:42px;font-size:14px}.login-areas{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff61;text-align:center;margin:0}.login-wrap>span{color:#ffffff9e}@media (max-width: 420px){.login-box{padding:28px 22px 26px;border-radius:16px}}.logo-marca{display:block;width:168px;height:48px;background:url(/logo-thunderlab-escuro.png) center / contain no-repeat}html[data-theme=light] .logo-marca{background-image:url(/logo-thunderlab.png)}.logo-marca-central{margin:0 auto 22px}.abas{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.aba{display:flex;flex-direction:column;gap:2px;text-align:left;padding:9px 15px;border-radius:11px;cursor:pointer;background:var(--panel);border:1px solid var(--line-soft);font-family:inherit;color:var(--text-dim);transition:border-color .15s ease,background .15s ease}.aba b{font-size:13.5px;font-weight:600}.aba span{font-size:11px;color:var(--text-faint)}.aba:hover{border-color:var(--line)}.aba.on{border-color:var(--charge);background:color-mix(in oklab,var(--charge) 8%,var(--panel));color:var(--text)}.aba.on b{color:var(--charge-text-strong)}@media (max-width: 560px){.abas{gap:6px}.aba{flex:1 1 auto;padding:8px 11px}.aba span{display:none}}.tela-central{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-dim);text-align:center;padding:20px}.fx-shell{min-height:100vh}.fx-topo{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:linear-gradient(165deg,#000,#001429);border-bottom:1px solid rgba(204,176,84,.2)}.fx-topo .logo-marca{width:118px;height:34px}.fx-topo-quem{display:flex;align-items:center;gap:14px;color:#d8dde3;font-size:13px}.fx-topo-quem .linkbtn{color:#ffffff8c}.fx-topo-quem .linkbtn:hover{color:#fff}.fx-main{padding:28px 32px 70px;max-width:1400px;margin:0 auto}.fx-modulo{margin-top:18px}.fx-filtros{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.fx-filtros select,.fx-filtros input[type=number]{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 10px;font-size:13px}.fx-sujo{font-size:12px;color:var(--charge-text-strong);background:var(--charge-dim);padding:4px 10px;border-radius:999px}.fx-legenda{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-faint)}.fx-pt{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:8px}.fx-pt-live{background:var(--live)}.fx-pt-warn{background:var(--warn)}.fx-pt-late{background:var(--late)}.fx-vazio{color:var(--text-faint);font-size:13px;padding:20px 0}.fx-dica{font-size:12px;color:var(--text-faint);margin:10px 0;max-width:70ch}.fx-tabela-envelope{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.fx-tabela{width:100%;min-width:900px;border-collapse:collapse;font-size:12.5px;background:var(--panel)}.fx-tabela th,.fx-tabela td{border-bottom:1px solid var(--line-soft);padding:6px 8px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fx-tabela thead th{color:var(--text-faint);font-weight:600;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;background:var(--panel-2);position:sticky;top:0}.fx-rotulo{text-align:left!important;color:var(--text-dim);min-width:220px;position:sticky;left:0;background:var(--panel);z-index:1}thead .fx-rotulo{background:var(--panel-2);z-index:2}.fx-semana-cab{text-align:center;border-left:2px solid var(--line)}.fx-soma-cab{border-left:2px solid var(--charge-dim);background:var(--charge-dim)!important;color:var(--charge-text-strong)!important}.fx-soma{background:#ccb0540f;font-weight:600;color:var(--text)}.fx-calc{color:var(--text-faint)}.fx-editavel input{width:78px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--text);padding:4px 6px;text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums}.fx-editavel input:focus{outline:none;border-color:var(--charge)}.fx-secao td{text-align:left;text-transform:uppercase;font-size:10px;letter-spacing:.06em;color:var(--text-faint);background:var(--panel-2);padding-top:12px;position:static}.fx-caixa{font-weight:700;color:var(--charge-text-strong)}.fx-dois-cartoes{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}@media (max-width: 860px){.fx-dois-cartoes{grid-template-columns:1fr}}.fx-painel{border-radius:14px;border:1px solid var(--line);background:var(--panel);padding:16px 16px 18px}.fx-painel-real{border-color:var(--charge);box-shadow:0 0 0 1px #ccb05429}.fx-painel-cab{margin-bottom:12px}.fx-painel-cab h3{margin:0;font-family:var(--display);font-size:15.5px;font-weight:700}.fx-painel-proj .fx-painel-cab h3{color:var(--text-dim)}.fx-painel-real .fx-painel-cab h3{color:var(--charge-text-strong)}.fx-painel-cab span{display:block;font-size:11px;color:var(--text-faint);margin-top:2px}.fx-painel .fx-tabela-envelope{border:none;border-radius:0;overflow-x:auto}.fx-tabela.fx-tabela-painel{min-width:0;width:100%}.fx-tabela.fx-tabela-painel thead th:not(.fx-rotulo){text-align:center}.fx-tabela.fx-tabela-painel .fx-rotulo{min-width:168px;font-size:12px;position:static}.fx-tabela.fx-tabela-painel thead .fx-rotulo{position:static}.fx-tabela.fx-tabela-painel td,.fx-tabela.fx-tabela-painel th{padding:5px 6px}.fx-tabela.fx-tabela-painel .fx-editavel input{width:62px}.fx-crm-ponto{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--charge);margin-left:7px;vertical-align:middle}.fx-consol{text-align:center}.fx-consol-real{font-weight:600;color:var(--text)}.fx-consol-proj{font-size:10.5px;color:var(--text-faint)}.fx-consol.fx-live .fx-consol-real{color:var(--live)}.fx-consol.fx-warn .fx-consol-real{color:var(--warn)}.fx-consol.fx-late .fx-consol-real{color:var(--late)}.fx-origem-crescimento{color:var(--charge-text-strong)!important}.fx-crescimento{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:12.5px;color:var(--text-dim)}.fx-crescimento b{color:var(--text);margin-right:4px}.fx-crescimento select,.fx-crescimento input[type=number]{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:5px 7px;font-size:12.5px}.fx-crescimento .fx-dica{flex-basis:100%;margin:6px 0 0}@media (max-width: 560px){.fx-filtros,.fx-crescimento{gap:8px}.fx-topo{padding:12px 16px}.fx-main{padding:18px 14px 50px}}
