
:root{
  --bg:#07101a;
  --bg-deep:#050b12;
  --panel:#0d1723;
  --panel-2:#101d2a;
  --line:#223246;
  --line-soft:rgba(255,255,255,.07);
  --text:#eef4fb;
  --muted:#9aabc0;
  --blue:#77a9ff;
  --blue-strong:#3f8cff;
  --green:#73e0b2;
  --amber:#e6b968;
  --danger:#ff8181;
  --shadow:0 20px 60px rgba(0,0,0,.28);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),
    radial-gradient(circle at 74% 10%, rgba(61,114,184,.10), transparent 28%),
    radial-gradient(circle at 12% 28%, rgba(70,132,218,.07), transparent 30%),
    var(--bg-deep);
  background-size:44px 44px,44px 44px,auto,auto,auto;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  line-height:1.58;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(6,13,21,.88);
  border-bottom:1px solid var(--line-soft);
  backdrop-filter:blur(18px);
}
.topbar > .wrap.nav{max-width:none;padding-left:22px;padding-right:22px}
.nav{height:70px;display:flex;align-items:center;justify-content:flex-start;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:-.03em}
.brandmark{
  width:38px;height:38px;border:1px solid #41546c;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(145deg,#0d1723,#0a111a);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)
}
.brandmark span{font-family:Consolas,monospace;font-weight:700;color:#dbe8fb;font-size:19px}
.navlinks{display:flex;align-items:center;gap:30px;color:#b2bfd0;font-size:14px;margin-left:auto;margin-right:18px}
.navlinks a{height:70px;display:flex;align-items:center;position:relative}
.navlinks a:hover,.navlinks a.active{color:white}
.navlinks a.active:after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--blue-strong);border-radius:999px
}
.navright{display:flex;align-items:center;gap:12px}
.iconbtn,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;
  border:1px solid #324359;background:#0b1520;color:#f2f6fb;min-height:42px;padding:0 15px;
  font-weight:700;font-size:13px;cursor:pointer;transition:.18s ease
}
.btn:hover,.iconbtn:hover{border-color:#547298;transform:translateY(-1px)}
.btn.primary{
  background:linear-gradient(135deg,#eff5ff,#dbe9ff);color:#07101a;border-color:#e9f2ff;
  box-shadow:0 8px 25px rgba(113,165,255,.12)
}
.btn.soft{background:#0c1723}
.menuBtn{display:none}
.hero{padding:74px 0 48px;border-bottom:1px solid var(--line-soft)}
.heroGrid{display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center}
.overline{
  font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#8396ad;font-weight:800
}
h1,h2,h3{letter-spacing:-.035em}
h1{font-size:clamp(42px,5vw,62px);line-height:1;margin:18px 0 20px}
h2{font-size:38px;line-height:1.08;margin:0 0 14px}
h3{font-size:21px;line-height:1.15;margin:0 0 10px}
.heroLead{font-size:22px;color:#aebdd0;max-width:690px;margin:0 0 20px;line-height:1.35}
.heroText{font-size:16px;color:#b6c3d4;max-width:700px;margin:0 0 28px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.terminal{
  position:relative;border:1px solid #33465f;border-radius:17px;padding:24px 26px 21px;
  background:linear-gradient(180deg,rgba(13,24,36,.96),rgba(7,14,22,.98));
  box-shadow:var(--shadow);overflow:hidden
}
.terminal:before{
  content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 65%,rgba(83,139,221,.06));
  pointer-events:none
}
.terminalTitle{font-family:Consolas,monospace;color:#a8bbd3;font-size:13px;margin-bottom:19px}
.termline{
  display:flex;justify-content:space-between;gap:14px;padding:5px 0;font-family:Consolas,monospace;font-size:13px;color:#c4d0df
}
.ok{color:var(--green)}
.terminal hr{border:0;border-top:1px solid #314156;margin:17px 0}
.termquote{font-family:Consolas,monospace;color:var(--green);font-size:14px;line-height:1.35}
.watermark{font-size:10px;color:#4d627a;text-align:right;font-family:Consolas,monospace;margin-top:18px}
.quick{padding:24px 0 26px;border-bottom:1px solid var(--line-soft)}
.quickGrid{display:grid;grid-template-columns:repeat(4,1fr)}
.quickItem{display:flex;gap:14px;padding:4px 27px;border-right:1px solid #253347}
.quickItem:first-child{padding-left:0}.quickItem:last-child{border-right:0}
.qicon{width:30px;height:30px;flex:0 0 30px;color:#d5e4fb}
.quickItem strong{display:block;font-size:14px;margin-bottom:3px}
.quickItem span{color:#899bb1;font-size:12px;line-height:1.35;display:block}
.section{padding:62px 0}
.sectionHead{margin-bottom:25px}
.sectionHead p{color:var(--muted);max-width:780px;margin:7px 0 0}
.quotePanel{
  display:grid;grid-template-columns:1.05fr .95fr;gap:40px;padding:37px 44px;border:1px solid var(--line);
  border-radius:16px;background:linear-gradient(135deg,rgba(14,26,39,.86),rgba(8,15,23,.95));box-shadow:0 14px 40px rgba(0,0,0,.17)
}
.bigquote{font-family:Georgia,serif;font-style:italic;font-size:25px;color:#d7e0ec;line-height:1.45;margin:12px 0}
.quoteSig{font-size:13px;color:#90a0b5}
.principles{display:grid;gap:12px}
.principle{display:flex;gap:12px;align-items:flex-start;color:#aebbd0;font-size:13px}
.pico{width:20px;height:20px;border:1px solid #70849d;border-radius:6px;display:grid;place-items:center;flex:0 0 20px;font-size:11px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  position:relative;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,#0d1723,#0a131d);
  padding:25px;box-shadow:0 11px 33px rgba(0,0,0,.12);overflow:hidden
}
.card p{color:var(--muted);margin:0}
.card .meta{color:#7890aa;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:12px}
.toolCard{min-height:196px;padding-left:84px}
.toolCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue-strong)}
.toolCard.pnp:before{background:var(--green)}
.toolIcon{
  position:absolute;left:24px;top:28px;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;
  background:#11315a;border:1px solid #244f85;color:#9dc2ff;font-size:21px
}
.toolCard.pnp .toolIcon{background:#10372e;border-color:#1f5949;color:#89ebc3}
.badge{
  position:absolute;right:20px;top:20px;border:1px solid #315b91;background:#0e2b4e;color:#a8caff;
  padding:5px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase
}
.badge.future{background:#111d2a;color:#a9b5c6;border-color:#2b3a4e}
.toolSubtitle{color:#7fb0f8;font-size:13px;margin:3px 0 14px}
.toolCard.pnp .toolSubtitle{color:#77d5af}
.toolCard .btn{margin-top:18px}
.pageHero{padding:58px 0 38px;border-bottom:1px solid var(--line-soft)}
.pageHero h1{font-size:48px;margin:15px 0 15px}
.pageHero p{font-size:18px;color:#a7b6c9;max-width:820px;margin:0}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}
.statline{padding:17px 0;border-bottom:1px solid #243346}
.statline:last-child{border-bottom:0}
.statline b{display:block;margin-bottom:4px}
.statline span{font-size:13px;color:var(--muted)}
.layerList{display:grid;gap:0}
.layer{
  display:grid;grid-template-columns:120px 1fr;gap:22px;padding:19px 0;border-bottom:1px solid #223246
}
.layer:last-child{border-bottom:0}
.layerTag{font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding-top:2px}
.layer h3{font-size:17px;margin-bottom:5px}
.layer p{font-size:13px;color:var(--muted);margin:0}
.timeline{position:relative;display:grid;gap:0}
.timeline:before{content:"";position:absolute;left:18px;top:22px;bottom:22px;width:1px;background:#31455e}
.trow{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:9px 0}
.tdot{
  position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:#0c1a29;border:1px solid #3b5677;color:var(--blue);font-size:12px;font-weight:800
}
.docGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.docItem{border-top:1px solid #314157;padding:18px 0}
.docItem .meta{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.docItem h3{font-size:18px;margin-top:7px}.docItem p{color:var(--muted);font-size:13px}
.contactGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}
.form{display:grid;gap:14px}
.field label{display:block;font-size:12px;color:#a2b2c5;margin-bottom:7px}
.field input,.field textarea{
  width:100%;border:1px solid #293a50;background:#08111b;color:white;border-radius:10px;padding:12px 13px;outline:none
}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:#4f75a7}
.loginShell{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:48px 24px}
.loginCard{width:min(450px,100%);border:1px solid #2e4056;border-radius:18px;padding:30px;background:#0b1520;box-shadow:var(--shadow)}
.loginCard .brand{margin-bottom:26px}
.small{font-size:12px;color:var(--muted)}
.footer{border-top:1px solid var(--line-soft);padding:28px 0;color:#76899f;font-size:12px;margin-top:28px}
.footerRow{max-width:none;padding-left:18px;padding-right:18px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}
.footerBrand{justify-self:start}
.footerLinks{display:flex;gap:24px;justify-self:center}
.mobileMenu{display:none;padding-bottom:14px}
.mobileMenu a{display:block;padding:10px 0;color:#b8c5d5;border-bottom:1px solid #182534}
@media(max-width:950px){
  .navlinks{display:none}.menuBtn{display:inline-flex}.navright{margin-left:auto}
  .heroGrid,.quotePanel,.split,.contactGrid{grid-template-columns:1fr}
  .quickGrid{grid-template-columns:repeat(2,1fr);gap:18px}
  .quickItem{border-right:0;padding:8px 0}
  .grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}
}
@media(max-width:620px){
  .wrap{padding:0 18px}.navright .btn{display:none}
  .hero{padding-top:48px}.heroLead{font-size:18px}
  .quickGrid{grid-template-columns:1fr}.pageHero h1{font-size:42px}
  .quotePanel{padding:26px}.toolCard{padding-left:72px}.toolIcon{left:18px}
  .layer{grid-template-columns:1fr;gap:5px}.docGrid{grid-template-columns:1fr}
  .footerRow{display:flex;align-items:flex-start;flex-direction:column;padding-left:18px;padding-right:18px}.footerLinks{flex-wrap:wrap;justify-self:auto}
}


/* ================================================================
   ÁREA DO USUÁRIO — PROTÓTIPO VISUAL
   ================================================================ */
.portalBody{background:var(--bg-deep);min-height:100vh}
.portalTopbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line-soft);background:#07101a;position:sticky;top:0;z-index:50}
.portalTopActions{display:flex;align-items:center;gap:22px}.portalSiteLink{color:#8fa2b9;font-size:12px}.portalSiteLink:hover{color:#fff}
.userChip{display:flex;align-items:center;gap:10px}.userChip>span:last-child{display:grid;line-height:1.2}.userChip b{font-size:12px}.userChip small{font-size:10px;color:#71849a;margin-top:2px}
.userAvatar{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#112236;border:1px solid #31455e;color:#bfd7f8;font-size:11px;font-weight:800}
.portalLayout{display:grid;grid-template-columns:224px 1fr;min-height:calc(100vh - 66px)}
.portalSidebar{border-right:1px solid var(--line-soft);background:#07101a;padding:24px 14px 18px;display:flex;flex-direction:column;position:sticky;top:66px;height:calc(100vh - 66px)}
.sidebarLabel{font-size:9px;letter-spacing:.18em;color:#586c83;font-weight:800;padding:0 12px 12px}.portalNav{display:grid;gap:5px}.portalNav a,.sidebarBottom a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:8px;color:#91a2b6;font-size:12px;font-weight:650}.portalNav a span,.sidebarBottom a span{width:18px;text-align:center;color:#7f96b1}.portalNav a:hover,.sidebarBottom a:hover{background:#0c1723;color:#fff}.portalNav a.active{background:#102238;color:#e8f2ff;border:1px solid #27466a}.portalNav a.active span{color:#7fb1ff}.sidebarBottom{margin-top:auto;border-top:1px solid var(--line-soft);padding-top:13px;display:grid;gap:4px}
.portalMain{min-width:0;padding:42px 46px 70px;max-width:1600px;width:100%;margin:0 auto}.portalPageHead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.portalPageHead h1{font-size:36px;margin:7px 0 6px}.portalPageHead p{margin:0;color:#879ab1;font-size:13px}
.portalStats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metricCard{border:1px solid var(--line);background:linear-gradient(180deg,#0d1723,#09121c);border-radius:13px;padding:19px 20px}.metricLabel{font-size:11px;color:#8fa2b8}.metricCard strong{display:block;font-size:29px;line-height:1;margin:9px 0 8px;letter-spacing:-.04em}.metricCard small{color:#657a92;font-size:10px}
.portalPanel{border:1px solid var(--line);background:linear-gradient(180deg,#0c1722,#09121b);border-radius:14px;padding:23px 24px;box-shadow:0 14px 40px rgba(0,0,0,.10)}.portalGridMain{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:18px}.panelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.panelEyebrow{font-size:9px;letter-spacing:.16em;color:#6e8fb6;font-weight:800}.panelHead h2{font-size:21px;margin:6px 0 0}.panelHead h3{font-size:17px;margin:6px 0 0}
.statusPill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:9px;letter-spacing:.05em;text-transform:uppercase;font-weight:800;white-space:nowrap}.statusPill.done{background:#0d342d;color:#82e8bc;border:1px solid #23644f}.statusPill.running{background:#102e52;color:#9bc7ff;border:1px solid #26548a}.statusPill.failed{background:#3b2024;color:#ff9ea6;border:1px solid #71333b}.bigStatus{padding:7px 12px;font-size:10px}
.analysisSummaryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #1f3043;border-bottom:1px solid #1f3043}.analysisSummaryGrid>div{padding:14px 14px 14px 0}.analysisSummaryGrid span,.detailList span{display:block;font-size:9px;color:#687c93;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.analysisSummaryGrid b{font-size:11px;color:#dbe6f3}.goodText{color:#75dbb0!important}.panelActions{display:flex;gap:10px;margin-top:18px}.compactPanel{padding-bottom:21px}.jobProgress{height:5px;background:#121f2e;border-radius:99px;overflow:hidden;margin:20px 0 16px}.jobProgress span{display:block;height:100%;background:linear-gradient(90deg,#3f8cff,#73e0b2);border-radius:99px}.jobSteps{display:flex;flex-wrap:wrap;gap:10px;font-size:9px}.okStep{color:#65cfaa}.currentStep{color:#85b6ff}.mutedLine{color:#6f8298!important;font-size:10px!important;margin-top:15px!important}.historyPanel{margin-bottom:16px}.textLink{font-size:11px;color:#78a9ec}.analysisTableWrap{overflow:auto}.analysisTable{width:100%;border-collapse:collapse;min-width:770px}.analysisTable th{text-align:left;color:#60758d;font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;border-bottom:1px solid #243448}.analysisTable td{font-size:11px;color:#b8c6d6;padding:13px 12px;border-bottom:1px solid #172536;vertical-align:middle}.analysisTable tbody tr:last-child td{border-bottom:0}.analysisTable small{color:#60758d}.analysisTable code{color:#9bbce4;font-family:Consolas,monospace;font-size:10px}.tableAction{color:#8fbcff;font-weight:750;font-size:10px}.mutedAction{color:#71849a}.retentionNote{display:flex;gap:12px;align-items:flex-start;border:1px dashed #26394e;border-radius:11px;padding:15px 17px;color:#8396ad;background:rgba(12,23,35,.45)}.retentionNote>span{color:#6f9fdb}.retentionNote b{font-size:11px;color:#bdc9d8}.retentionNote p{font-size:10px;margin:3px 0 0;max-width:900px}.filterBar{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.searchFake{height:37px;border:1px solid #26384d;background:#08121c;border-radius:8px;padding:9px 13px;color:#62778f;font-size:10px;min-width:270px;margin-right:6px}.filterChip{border:1px solid #27394e;background:#0a1520;color:#8395aa;border-radius:999px;padding:7px 12px;font-size:10px;cursor:pointer}.filterChip.active{border-color:#426d9e;color:#c8ddfa;background:#10243a}.fullHistory{padding-bottom:14px}.historyFooter{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #1e2e40;margin-top:8px;padding-top:14px;color:#687c91;font-size:10px}.pager{width:28px;height:28px;border:1px solid #26394e;background:#09131e;color:#8194aa;border-radius:7px;font-size:10px;margin-left:4px}.pager.active{background:#153457;color:#cde3ff;border-color:#315d90}
.newFlowSteps{display:flex;align-items:center;max-width:670px;margin:0 0 24px}.flowStep{display:flex;align-items:center;gap:8px;color:#63778f;font-size:10px;white-space:nowrap}.flowStep b{width:24px;height:24px;border-radius:50%;border:1px solid #2a3e55;display:grid;place-items:center;font-size:9px}.flowStep.active{color:#bcd8fb}.flowStep.active b{background:#17395f;border-color:#3f74ab}.flowLine{height:1px;background:#223348;flex:1;margin:0 9px}.toolSelectGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.toolSelect{position:relative;text-align:left;display:grid;grid-template-columns:42px 1fr 24px;gap:13px;border:1px solid #26394d;background:#09131e;border-radius:12px;padding:18px;color:#aebdce;cursor:pointer}.toolSelect.selected{border-color:#4778ac;background:#0d1c2c;box-shadow:inset 0 0 0 1px rgba(94,153,220,.15)}.toolSelectIcon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#12345b;color:#91bfff;font-size:19px}.pnpIcon{background:#123b32;color:#84dbb9}.toolSelect b{display:block;color:#eef5fc;font-size:15px}.toolSelect small{display:block;color:#6f91b8;font-size:9px;margin-top:1px}.toolSelect p{font-size:10px;line-height:1.45;margin:9px 0 0;color:#71859c}.selectCheck{color:#79b5fb;text-align:right}.uploadPanel{margin-top:16px}.uploadZone{border:1px dashed #38506a;border-radius:12px;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(7,16,26,.45);padding:24px}.uploadIcon{font-size:26px;color:#78aaf0;margin-bottom:8px}.uploadZone b{font-size:13px}.uploadZone p{font-size:10px;color:#75899f;margin:4px 0 14px}.uploadZone small{font-size:9px;color:#53687f;margin-top:12px}.uploadRules{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.uploadRules span{font-size:9px;color:#7389a1;text-align:center}.portalGridAccount{display:grid;grid-template-columns:.65fr 1.35fr;gap:18px}.accountProfile{text-align:center}.bigAvatar{width:72px;height:72px;border-radius:18px;margin:0 auto 15px;display:grid;place-items:center;background:#10263e;border:1px solid #315375;color:#afd2ff;font-weight:800;font-size:20px}.accountProfile h2{font-size:21px;margin-bottom:2px}.accountFacts{text-align:left;margin-top:22px;border-top:1px solid #1e3043}.accountFacts>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #172739;font-size:10px}.accountFacts span{color:#6f8298}.accountFacts b{color:#c4d1df}.settingRow{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid #1b2b3d}.settingRow:last-child{border-bottom:0}.settingRow b{font-size:11px}.settingRow p{font-size:9px;color:#6d8198;margin:3px 0 0}.toggleFake{width:34px;height:18px;border-radius:999px;background:#172637;border:1px solid #2c4055;position:relative;flex:0 0 auto}.toggleFake:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#6f8296;top:2px;left:3px}.toggleFake.on{background:#123b32;border-color:#29654f}.toggleFake.on:after{left:17px;background:#7bdab3}.resultBack{margin-bottom:14px}.resultBack a{font-size:10px;color:#7890aa}.resultHead{align-items:center}.resultMetaPanel{margin-bottom:18px}.sixCols{grid-template-columns:repeat(6,1fr)}.resultLayout{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.resultCallout{display:flex;gap:14px;padding:15px;border:1px solid #25476b;background:#0c2136;border-radius:10px;margin-bottom:18px}.resultCallout>span{color:#80b4f6}.resultCallout b{font-size:11px}.resultCallout p{font-size:9px;color:#7790a8;margin:3px 0 0}.resultRows>div,.detailList>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #1b2a3b;font-size:10px}.resultRows span{color:#74889f}.resultRows b,.detailList b{color:#c5d2df}.detailList code{color:#9dc1ef;font-size:9px}.privateNotice{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding:12px;background:#0b1520;border-radius:9px;border:1px solid #203147}.privateNotice p{font-size:9px;color:#6d8197;margin:0}
@media(max-width:1100px){.portalStats{grid-template-columns:repeat(2,1fr)}.portalGridMain,.resultLayout,.portalGridAccount{grid-template-columns:1fr}.sixCols{grid-template-columns:repeat(3,1fr)}.uploadRules{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.portalTopbar{padding:0 14px}.portalSiteLink{display:none}.portalLayout{grid-template-columns:1fr}.portalSidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line-soft);padding:10px;display:block}.sidebarLabel,.sidebarBottom{display:none}.portalNav{display:flex;overflow:auto}.portalNav a{white-space:nowrap}.portalMain{padding:28px 18px 55px}.portalPageHead{align-items:flex-start;flex-direction:column}.portalPageHead h1{font-size:30px}.portalStats{grid-template-columns:repeat(2,1fr)}.analysisSummaryGrid{grid-template-columns:repeat(2,1fr)}.toolSelectGrid{grid-template-columns:1fr}.newFlowSteps{overflow:auto}.sixCols{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.portalStats{grid-template-columns:1fr 1fr}.metricCard{padding:15px}.metricCard strong{font-size:24px}.portalTopbar .brand{font-size:16px}.portalTopbar .brandmark{width:32px;height:32px}.userChip>span:last-child{display:none}.portalNav a{font-size:10px;padding:9px}.uploadRules{grid-template-columns:1fr}.portalPanel{padding:18px}.analysisSummaryGrid{grid-template-columns:1fr 1fr}}


/* v0.9 — refinamentos da área do usuário */
.searchBox{height:37px;border:1px solid #26384d;background:#08121c;border-radius:8px;padding:0 12px;color:#62778f;font-size:10px;min-width:290px;margin-right:6px;display:flex;align-items:center;gap:8px}
.searchBox input{border:0;outline:0;background:transparent;color:#c5d3e2;width:100%;font-size:10px}.searchBox input::placeholder{color:#62778f}
.historyPager{display:flex;align-items:center;gap:3px}.historyPager .pager{margin-left:0;cursor:pointer}.navPager{font-size:15px}.pagerAll{width:auto;min-width:42px;padding:0 10px}.pager:disabled{opacity:.35;cursor:not-allowed}.analysisTable tbody tr.rowHidden{display:none}
.linkFlow{max-width:850px}.linkPanel,.collectionFlowPanel{margin-top:16px}.linkState{font-size:9px;letter-spacing:.12em;color:#83a7d2;border:1px solid #2d4b6e;border-radius:999px;padding:5px 9px}.linkIntro{display:flex;align-items:flex-start;gap:14px;border:1px solid #24415f;background:#0b1c2d;border-radius:11px;padding:15px 17px;margin-bottom:16px}.linkHeroIcon{width:35px;height:35px;border-radius:9px;background:#12345b;color:#89b9fb;display:grid;place-items:center;flex:0 0 auto}.linkIntro b{font-size:12px}.linkIntro p{margin:3px 0 0;color:#7890a8;font-size:10px}.generateLinkBox{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center}.generatedLinkField{min-height:42px;border:1px solid #283c52;background:#07111b;border-radius:9px;padding:11px 13px;color:#71859b;font-family:Consolas,monospace;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generatedLinkField.ready{color:#a9c8ef;border-color:#365f8d}.linkMeta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px;border-top:1px solid #1d2e41;padding-top:14px}.linkMeta span{display:block}.linkMeta b{display:block;color:#647b93;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.linkMeta small{display:block;color:#b4c2d2;font-size:10px;margin-top:3px}.collectorTimeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.collectorStep{border:1px solid #22364c;background:#08131e;border-radius:11px;padding:15px;min-height:150px}.collectorStep>b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#12345b;border:1px solid #315b89;color:#a9ccfa;font-size:9px;margin-bottom:12px}.collectorStep strong{font-size:11px;color:#dbe7f4}.collectorStep p{font-size:9px;line-height:1.5;color:#71859b;margin:6px 0 0}.securityNote{display:flex;gap:12px;align-items:flex-start;border:1px dashed #2b4056;background:rgba(8,20,31,.55);border-radius:10px;padding:14px 16px;margin-top:14px}.securityNote>span{color:#77a9e8}.securityNote b{font-size:11px}.securityNote p{font-size:9px;color:#71849a;margin:3px 0 0}
.profilePhotoWrap{position:relative;width:84px;height:84px;margin:0 auto 14px}.profilePhotoWrap .bigAvatar{width:84px;height:84px;margin:0;border-radius:22px;background-size:cover;background-position:center;overflow:hidden}.avatarEdit{position:absolute;right:-4px;bottom:-4px;width:27px;height:27px;border-radius:50%;border:2px solid #0b1621;background:#1b4677;color:#fff;display:grid;place-items:center;cursor:pointer;font-size:15px}.hiddenFile{display:none}.profilePhotoActions{display:grid;justify-items:center;gap:7px;margin:13px 0 3px}.profilePhotoActions small{font-size:9px;color:#64788f;max-width:260px}.userAvatar.hasPhoto,.bigAvatar.hasPhoto{font-size:0;background-size:cover;background-position:center;background-repeat:no-repeat}
@media(max-width:1180px){.collectorTimeline{grid-template-columns:repeat(3,1fr)}.linkMeta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.generateLinkBox{grid-template-columns:1fr}.collectorTimeline{grid-template-columns:1fr 1fr}.linkMeta{grid-template-columns:1fr 1fr}.searchBox{min-width:100%;width:100%}}
@media(max-width:480px){.collectorTimeline{grid-template-columns:1fr}.linkMeta{grid-template-columns:1fr}}

/* v0.11 - editor de foto de perfil corrigido */
.avatarCropModal{
  position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
  padding:22px;
}
.avatarCropModal.open{display:flex}
.avatarCropBackdrop{
  position:absolute;inset:0;background:rgba(1,6,12,.86);backdrop-filter:blur(8px)
}
.avatarCropDialog{
  position:relative;z-index:1;width:min(500px,calc(100vw - 32px));max-height:calc(100vh - 32px);
  overflow:auto;border:1px solid #30445b;border-radius:16px;
  background:linear-gradient(180deg,#0d1824,#09121b);box-shadow:0 30px 90px rgba(0,0,0,.58);padding:20px
}
.avatarCropHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #1e3042;padding-bottom:14px}
.avatarCropHeader h2{font-size:21px;margin:5px 0 4px}
.avatarCropHeader p{font-size:10px;color:#778ba2;margin:0}
.avatarCropClose{width:32px;height:32px;border-radius:8px;border:1px solid #2b4057;background:#0a1520;color:#aebfd1;font-size:20px;cursor:pointer;flex:0 0 auto}
.avatarCropBody{display:grid;justify-items:center;padding:18px 0 10px}
.avatarCropStage{
  position:relative;width:min(300px,70vw);height:min(300px,70vw);overflow:hidden;
  border-radius:24px;background:#050b12;border:1px solid #3a5470;cursor:grab;
  touch-action:none;user-select:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)
}
.avatarCropStage.dragging{cursor:grabbing}
.avatarCropStage img{
  position:absolute;display:block;max-width:none;max-height:none;pointer-events:none;user-select:none;
  -webkit-user-drag:none;will-change:left,top,width,height
}
.avatarCropRing{
  position:absolute;inset:0;border-radius:24px;pointer-events:none;
  box-shadow:inset 0 0 0 2px rgba(184,214,250,.82), inset 0 0 42px rgba(0,0,0,.18)
}
.avatarCropRing:before,.avatarCropRing:after{
  content:"";position:absolute;background:rgba(210,228,250,.14);pointer-events:none
}
.avatarCropRing:before{left:33.333%;right:33.333%;top:0;bottom:0;border-left:1px solid rgba(210,228,250,.13);border-right:1px solid rgba(210,228,250,.13);background:none}
.avatarCropRing:after{top:33.333%;bottom:33.333%;left:0;right:0;border-top:1px solid rgba(210,228,250,.13);border-bottom:1px solid rgba(210,228,250,.13);background:none}
.avatarCropHint{font-size:9px;color:#72879e;margin-top:9px;text-align:center}
.avatarZoomRow{width:min(300px,70vw);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:13px;color:#9badc0;font-size:10px}
.avatarZoomRow input{width:100%;accent-color:#4b91e2}
.avatarZoomValue{min-width:34px;text-align:right;color:#7ea9d9;font-family:Consolas,monospace;font-size:9px}
.avatarCropTools{width:min(300px,70vw);display:flex;justify-content:flex-end;margin-top:10px}
.avatarCropTools button{min-height:32px;padding:0 11px;font-size:10px}
.avatarCropActions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #1e3042;padding-top:15px;margin-top:4px}
body.cropOpen{overflow:hidden}
@media(max-width:620px){
  .avatarCropModal{padding:12px}.avatarCropDialog{padding:16px}
  .avatarCropStage{width:min(280px,76vw);height:min(280px,76vw)}
  .avatarZoomRow,.avatarCropTools{width:min(280px,76vw)}
}


/* v0.12 - ciclo visual do Job */
.jobLifecyclePanel{margin-top:16px}
.jobLifecyclePanel[hidden]{display:none!important}
.lifecycleHead{align-items:center}
.lifecycleLead{font-size:10px;color:#7890a8;margin:5px 0 0;max-width:760px}
.jobStatusBadge{font-size:9px;letter-spacing:.08em;font-weight:800;border-radius:999px;padding:6px 10px;border:1px solid #36597f;color:#9fc7f5;background:#0d2237;white-space:nowrap}
.jobStatusBadge.running{border-color:#3c618c;color:#add0fb;background:#0d2237}
.jobStatusBadge.processing{border-color:#635b34;color:#e4cc83;background:#241f0f}
.jobStatusBadge.done{border-color:#286a55;color:#80e1b9;background:#0d2e26}
.jobSummaryStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:1px solid #1f3348;background:#08131d;border-radius:10px;padding:13px 15px;margin-bottom:17px}
.jobSummaryStrip span{min-width:0}.jobSummaryStrip b{display:block;color:#617a94;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.jobSummaryStrip small{display:block;color:#c1cfde;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jobProgress{display:grid;grid-template-columns:repeat(9,1fr);border:1px solid #1d3043;border-radius:11px;overflow:hidden;background:#07111a;margin-bottom:16px}
.jobProgressItem{position:relative;min-width:0;padding:14px 7px 12px;text-align:center;border-right:1px solid #182a3c;color:#536c85;background:#07111a}
.jobProgressItem:last-child{border-right:0}.jobProgressItem span{width:24px;height:24px;margin:0 auto 7px;border-radius:50%;display:grid;place-items:center;border:1px solid #2b4158;font-size:8px;font-weight:800}.jobProgressItem b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jobProgressItem.done{color:#72c5a5;background:rgba(24,91,70,.08)}.jobProgressItem.done span{border-color:#27614f;background:#103126;color:#7bdbb7}
.jobProgressItem.current{color:#b8d7fb;background:#0c1f32;box-shadow:inset 0 -2px 0 #4b8fd7}.jobProgressItem.current span{border-color:#4478ad;background:#12365d;color:#d4e8ff}
.jobProgressItem.failed{color:#f3a1a1;background:rgba(120,35,35,.12)}.jobProgressItem.failed span{border-color:#7c3f45;background:#381a1d;color:#ffb4b4}
.jobActivityGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jobActivityCard{display:flex;align-items:flex-start;gap:12px;border:1px solid #24394f;border-radius:10px;background:#091621;padding:14px 15px}.jobActivityCard.secondary{background:#08131c}.jobActivityIcon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#12345b;color:#8fbcf6;flex:0 0 34px}.jobActivityCard b{font-size:11px}.jobActivityCard p{font-size:9px;color:#70859c;margin:3px 0 0;line-height:1.5}
.prototypeControls{margin-top:14px;border-top:1px solid #1d2e41;padding-top:11px}.prototypeControls summary{cursor:pointer;color:#6f86a0;font-size:9px;user-select:none}.prototypeControlsBody{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:11px}.prototypeControlsBody>span{color:#60778f;font-size:9px}.prototypeControlsBody>div{display:flex;gap:8px}
.flowStep.done{color:#78c7a8}.flowStep.done b{background:#12342a;border-color:#2c6e57;color:#8be1bd}.flowStep.current{color:#bcd8fb}.flowStep.current b{background:#17395f;border-color:#3f74ab}.flowLine.done{background:#2a6b57}
@media(max-width:1180px){.jobProgress{grid-template-columns:repeat(5,1fr)}.jobProgressItem:nth-child(5){border-right:0}.jobProgressItem:nth-child(n+6){border-top:1px solid #182a3c}.jobSummaryStrip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.jobActivityGrid{grid-template-columns:1fr}.prototypeControlsBody{align-items:flex-start;flex-direction:column}.jobProgress{grid-template-columns:repeat(3,1fr)}.jobProgressItem:nth-child(3n){border-right:0}.jobProgressItem{border-top:1px solid #182a3c}.jobProgressItem:nth-child(-n+3){border-top:0}.jobSummaryStrip{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.jobSummaryStrip{grid-template-columns:1fr}.jobProgress{grid-template-columns:1fr 1fr}.jobProgressItem:nth-child(odd){border-right:1px solid #182a3c}.jobProgressItem:nth-child(even){border-right:0}}


/* ===== Administração ===== */

.adminLayout{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.adminPanel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:14px;
  padding:22px;
  min-width:0;
}

.adminPanelHead{
  margin-bottom:20px;
}

.adminPanelHead h2{
  margin:5px 0 4px;
  font-size:22px;
  line-height:1.15;
}

.adminPanelHead p{
  margin:0;
  font-size:13px;
  color:var(--muted);
}

.adminForm{
  display:grid;
  gap:14px;
}

.adminForm .btn{
  width:100%;
  justify-content:center;
}

.adminMessage{
  min-height:18px;
  margin-top:12px;
  font-size:12px;
}

.adminMessage.ok{
  color:var(--green);
}

.adminMessage.error{
  color:#ff8b8b;
}

.adminTableWrap{
  width:100%;
  min-width:0;
  overflow:hidden;
}

.adminTable{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}

.adminTable th{
  padding:0 8px 11px;
  border-bottom:1px solid var(--line);
  color:var(--accent);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:left;
}

.adminTable td{
  padding:14px 8px;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
  font-size:13px;
}

.adminTable tbody tr:last-child td{
  border-bottom:0;
}

.adminTable th:nth-child(1),
.adminTable td:nth-child(1){
  width:21%;
}

.adminTable th:nth-child(2),
.adminTable td:nth-child(2){
  width:12%;
}

.adminTable th:nth-child(3),
.adminTable td:nth-child(3){
  width:11%;
}

.adminTable th:nth-child(4),
.adminTable td:nth-child(4){
  width:14%;
}

.adminTable th:nth-child(5),
.adminTable td:nth-child(5){
  width:18%;
}

.adminTable th:nth-child(6),
.adminTable td:nth-child(6){
  width:24%;
}

.adminActions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:6px;
}

.adminActions .btn{
  padding:8px 10px;
  font-size:11px;
  white-space:nowrap;
}

.statusActive{
  color:var(--green);
}

.statusDisabled{
  color:#ff8b8b;
}

.deviceBound{
  color:var(--accent);
}

.deviceFree{
  color:var(--muted);
}

@media(max-width:1100px){
  .adminLayout{
    grid-template-columns:1fr;
  }

  .adminTableWrap{
    overflow-x:auto;
  }

  .adminTable{
    min-width:760px;
  }
}


/* ===== Modal da conta ===== */

.accountModal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.accountModal.open{
  display:flex;
}

.accountModalBackdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(3px);
}

.accountModalCard{
  position:relative;
  width:min(460px,100%);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px;
  box-shadow:0 25px 80px rgba(0,0,0,.45);
}

.accountModalHead{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}

.accountModalHead h2{
  margin:5px 0 5px;
}

.accountModalHead p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.accountModalClose{
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.accountModalActions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:6px;
}


/* ===== Mensagens de autenticação ===== */

#loginError,
.adminMessage.error {
  color:#ff6b6b !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

#loginError {
  padding:0 !important;
}


/* ===== Preferências da conta ===== */

.accountPolicyTag{
  color:var(--muted);
  font-size:11px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:7px 10px;
  white-space:nowrap;
}

.accountSwitch{
  width:36px;
  height:20px;
  padding:2px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#14273a;
  cursor:pointer;
  transition:.18s ease;
}

.accountSwitch span{
  display:block;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#70859a;
  transition:.18s ease;
}

.accountSwitch.on{
  background:#075e4c;
  border-color:#0c9975;
}

.accountSwitch.on span{
  transform:translateX(16px);
  background:#66e9c5;
}

.accountSwitch:disabled{
  cursor:wait;
  opacity:.6;
}

.accountDeviceState{
  text-align:right;
}

.accountDeviceState b{
  color:var(--accent);
  font-size:12px;
}


/* ===== Gerenciamento administrativo ===== */

.adminManageCard{
  width:min(540px,100%);
}

.manageFacts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid var(--line);
  margin-bottom:22px;
}

.manageFacts div{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

.manageFacts div:nth-child(odd){
  padding-right:18px;
}

.manageFacts div:nth-child(even){
  padding-left:18px;
}

.manageFacts span{
  color:var(--muted);
  font-size:11px;
}

.manageFacts b{
  font-size:13px;
}

.manageActions{
  display:grid;
  gap:8px;
}

.manageActions .btn{
  width:100%;
  justify-content:center;
}

.adminManageButton{
  white-space:nowrap;
}

@media(max-width:600px){
  .manageFacts{
    grid-template-columns:1fr;
  }

  .manageFacts div:nth-child(n){
    padding-left:0;
    padding-right:0;
  }
}

/* Estados sem dados reais: não representam jobs ou números de exemplo. */
.panelEmptyMessage{margin:0 0 10px;color:#8295aa;font-size:12px;line-height:1.6;max-width:52ch}
.emptyTableRow td{padding:32px 16px!important;text-align:center;color:#92a7bf!important;font-size:12px!important;line-height:1.6}
.statusPill.pending{color:#aebed0;border:1px solid #32475e;background:#152334}
.filterChip:disabled,.searchBox input:disabled{opacity:.48;cursor:not-allowed}
.historyPager[hidden]{display:none!important}
.emptyTableRow[hidden]{display:none!important}

/* CBA_HISTORY_UI_POLISH_V1 */
.analysisTable tbody tr[data-tool] {
    transition: background-color 150ms ease;
}

.analysisTable tbody tr[data-tool]:hover {
    background-color: rgba(110, 160, 220, 0.075);
}

.analysisTable .analysisResultLink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border: 1px solid rgba(108, 169, 239, 0.48);
    border-radius: 9px;
    background: rgba(40, 95, 161, 0.23);
    color: #dbeafe !important;
    font-weight: 700;
    font-size: 12px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color 150ms ease,
                border-color 150ms ease,
                transform 150ms ease;
}

.analysisTable .analysisResultLink::after {
    content: "\2197";
    font-size: 15px;
}

.analysisTable .analysisResultLink:hover {
    background: rgba(62, 125, 205, 0.35);
    border-color: #93c5fd;
    transform: translateY(-1px);
}

.analysisTable .analysisResultLink:focus-visible {
    outline: 2px solid #93c5fd;
    outline-offset: 3px;
}
