/* ══════════════════════════════════════════════
   SPACESHIELD AI v5.2 · body.css
   Componentes, painéis e módulos
══════════════════════════════════════════════ */

/* ══════════════════════════════════════════════
   BARRA DE PRODUTOS · CYBERPUNK SELECT BAR
══════════════════════════════════════════════ */
.produtos-bar {
    background:    linear-gradient(90deg, #0a0020 0%, #05000f 50%, #0a0020 100%);
    border-bottom: 2px solid var(--purple);
    box-shadow:    0 2px 15px rgba(204,0,255,0.15);
    height:        54px;
    flex-shrink:   0;
    overflow:      hidden;
    position:      relative;
}
.produtos-bar::after {
    content:    '';
    position:   absolute;
    bottom:     0; left: 0; right: 0;
    height:     1px;
    background: linear-gradient(90deg, transparent, var(--purple), var(--pink), var(--accent), transparent);
    opacity:    .6;
}
.produtos-bar-inner {
    display:     flex;
    align-items: center;
    gap:         16px;
    padding:     0 16px;
    height:      100%;
}
.pb-logo {
    font-family:    var(--three-d-font);
    font-size:      7px;
    color:          var(--purple);
    letter-spacing: 1px;
    white-space:    nowrap;
    flex-shrink:    0;
    text-shadow:    var(--glow-purple);
}
.pb-cnaes {
    display:    flex;
    gap:        5px;
    flex-wrap:  nowrap;
    overflow-x: auto;
    flex:       1;
    -ms-overflow-style: none;
}
.pb-cnaes::-webkit-scrollbar { display: none; }
.pb-cnae-chip {
    font-family:    'Share Tech Mono', monospace;
    font-size:      8px;
    white-space:    nowrap;
    padding:        3px 8px;
    border:         1px solid rgba(204,0,255,0.2);
    color:          var(--text3);
    background:     rgba(204,0,255,.04);
    letter-spacing: .5px;
    cursor:         default;
    transition:     all .1s;
    clip-path:      polygon(3px 0%, 100% 0%, calc(100% - 3px) 100%, 0% 100%);
}
.pb-cnae-chip:hover {
    background:  rgba(204,0,255,.1);
    color:       var(--purple);
    border-color: rgba(204,0,255,.5);
    box-shadow:  var(--glow-purple);
}
.pb-chip-main {
    color:       var(--pink);
    border-color: rgba(255,0,170,.4);
    background:  rgba(255,0,170,.08);
    box-shadow:  0 0 6px rgba(255,0,170,.2);
}
.pb-stats {
    display:     flex;
    gap:         14px;
    flex-shrink: 0;
    padding:     0 14px;
    border-left: 1px solid var(--border);
}
.pb-stat {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    min-width:      36px;
}
.pb-stat-val {
    font-family: var(--three-d-font);
    font-size:   13px;
    color:       var(--yellow);
    line-height: 1;
    text-shadow: var(--glow-yellow);
}
.pb-stat-lbl {
    font-family:    var(--three-d-font);
    font-size:      5px;
    color:          var(--text3);
    letter-spacing: .5px;
    margin-top:     4px;
}
.pb-tutorial {
    display:      flex;
    align-items:  center;
    gap:          8px;
    flex-shrink:  0;
    padding-left: 10px;
    border-left:  1px solid var(--border);
}

/* ── SLIDER da barra de produtos ── */
.pb-slider {
    display:     flex;
    align-items: center;
    gap:         6px;
    flex:        1;
    min-width:   0;
}
.pb-sl-arrow {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    color:          var(--text3);
    background:     none;
    border:         1px solid var(--border);
    border-radius:  3px;
    padding:        3px 6px;
    cursor:         pointer;
    flex-shrink:    0;
    transition:     color .15s, border-color .15s, background .15s;
    min-height:     unset;
}
.pb-sl-arrow:hover { color: var(--accent); border-color: rgba(0,212,255,.35); background: rgba(0,212,255,.06); }

.pb-sl-viewport {
    flex:       1;
    min-width:  0;
    overflow:   hidden;
}
.pb-sl-track {
    display:    flex;
    width:      100%;
    transition: transform .4s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}
.pb-slide {
    display:     flex;
    align-items: center;
    gap:         5px;
    min-width:   100%;
    width:       100%;
    flex-shrink: 0;
    overflow:    hidden;
}
.pb-slide-lbl {
    font-family:    'Share Tech Mono', monospace;
    font-size:      8px;
    color:          var(--text3);
    letter-spacing: .5px;
    white-space:    nowrap;
    flex-shrink:    0;
}

.pb-sl-dots {
    display:     flex;
    align-items: center;
    gap:         4px;
    flex-shrink: 0;
}
.pb-sl-dot {
    width:        7px;
    height:       7px;
    border-radius: 50%;
    background:   var(--bg4);
    border:       1px solid var(--border);
    cursor:       pointer;
    padding:      0;
    transition:   background .2s, border-color .2s;
    min-height:   unset;
}
.pb-sl-dot.active { background: var(--accent); border-color: var(--accent); }

/* ══════════════════════════════════════════════
   FOOTER · CYBERPUNK BOTTOM BAR
══════════════════════════════════════════════ */
.site-footer {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             6px;
    padding:         6px 16px;
    min-height:      32px;
    background:      linear-gradient(90deg, #07001a 0%, #04000f 50%, #07001a 100%);
    border-top:      2px solid var(--purple);
    box-shadow:      0 -2px 15px rgba(204,0,255,0.15);
    flex-shrink:     0;
    flex-wrap:       wrap;
    overflow:        visible;
    position:        relative;
}
.site-footer::before {
    content:    '';
    position:   absolute;
    top: 0; left: 0; right: 0;
    height:     1px;
    background: linear-gradient(90deg, transparent, var(--purple), var(--pink), transparent);
}
.footer-policy {
    font-family:    var(--three-d-font);
    font-size:      6px;
    color:          var(--text3);
    letter-spacing: .5px;
    white-space:    nowrap;
    display:        flex;
    align-items:    center;
    gap:            8px;
}
.footer-policy-icon {
    font-size:  11px;
    flex-shrink: 0;
}
.footer-policy-id {
    color:       var(--purple);
    text-shadow: var(--glow-purple);
}
.footer-policy-sep { color: rgba(204,0,255,0.3); }
.footer-center {
    font-family:    var(--three-d-font);
    font-size:      5px;
    color:          var(--text3);
    letter-spacing: .3px;
    white-space:    nowrap;
}
.footer-right {
    font-family:    var(--three-d-font);
    font-size:      5px;
    color:          var(--text3);
    letter-spacing: .3px;
    white-space:    nowrap;
    display:        flex;
    align-items:    center;
    gap:            6px;
}
.footer-status-dot {
    width:      5px;
    height:     5px;
    background: var(--green);
    box-shadow: var(--glow-green);
    animation:  threeDPulse 1.5s steps(2,end) infinite;
    flex-shrink: 0;
}

/* Links legais AdSense */
.footer-legal-links {
    font-family:    'Share Tech Mono', monospace;
    font-size:      8.5px;
    color:          var(--text3);
    letter-spacing: .3px;
    white-space:    nowrap;
    display:        flex;
    align-items:    center;
    gap:            6px;
    width:          100%;
    justify-content:center;
    padding:        2px 0;
    border-top:     1px solid rgba(0,212,255,.05);
}
.footer-legal-link {
    color:           var(--text3);
    text-decoration: none;
    transition:      color .15s;
}
.footer-legal-link:hover { color: var(--accent); }
.footer-legal-sep { color: var(--border); }


/* ══════════════════════════════════════════════
   MITIGAÇÕES ATIVAS · SIDEBAR
══════════════════════════════════════════════ */
.mit-sb-panel   { margin-bottom: 4px; }
.mit-sb-empty   {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    color:          var(--text3);
    padding:        8px 4px;
    text-align:     center;
    letter-spacing: .5px;
}
.mit-sb-list    { display: flex; flex-direction: column; gap: 4px; }
.mit-sb-entry   {
    display:       flex;
    flex-direction: column;
    gap:           3px;
    padding:       6px 8px;
    border-radius: 4px;
    border-left:   3px solid var(--yellow);
    background:    rgba(255,214,0,.04);
    border-top:    1px solid rgba(255,214,0,.1);
    border-right:  1px solid rgba(255,214,0,.1);
    border-bottom: 1px solid rgba(255,214,0,.1);
    will-change:   opacity, transform;
    transition:    opacity .4s ease, transform .4s ease;
}
.mit-sb-entry.critical {
    border-left-color: var(--red);
    background:        rgba(255,43,85,.05);
    border-top-color:  rgba(255,43,85,.12);
    border-right-color:rgba(255,43,85,.12);
    border-bottom-color:rgba(255,43,85,.12);
}
.mit-sb-entry.fading { opacity: 0; transform: translateX(8px); }
.mit-sb-head    { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.mit-sb-badge   {
    font-family:    'Share Tech Mono', monospace;
    font-size:      7.5px;
    color:          var(--yellow);
    background:     rgba(255,214,0,.1);
    border:         1px solid rgba(255,214,0,.25);
    border-radius:  2px;
    padding:        1px 4px;
    letter-spacing: .3px;
    white-space:    nowrap;
}
.mit-sb-entry.critical .mit-sb-badge {
    color:        var(--red);
    background:   rgba(255,43,85,.1);
    border-color: rgba(255,43,85,.3);
}
.mit-sb-ts      { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text3); white-space: nowrap; }
.mit-sb-msg     { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text2); line-height: 1.4; word-break: break-word; }

/* ── SIDEBARS · HUD PANEL (glass) ── */
.sidebar-left,
.sidebar-right {
    background:    var(--glass-bg);
    border-right:  1px solid var(--glass-border);
    box-shadow:    inset -1px 0 20px rgba(0,212,255,0.05);
    overflow-y:    auto;
    padding:       16px 14px;
}
.sidebar-right {
    border-right: none;
    border-left:  1px solid var(--glass-border);
    box-shadow:   inset 1px 0 20px rgba(0,212,255,0.05);
}
.center-panel {
    display:        flex;
    flex-direction: column;
    overflow:       hidden;
    background:     linear-gradient(180deg, rgba(6,14,20,0.6), rgba(5,10,15,0.75));
}

.section-title {
    display:        flex;
    align-items:    center;
    gap:            6px;
    font-family:    var(--three-d-font);
    font-size:      7px;
    color:          var(--accent);
    letter-spacing: 1px;
    text-transform: uppercase;
    border-bottom:  1px solid var(--border);
    padding-bottom: 9px;
    margin-bottom:  12px;
    text-shadow:    var(--glow-cyan);
}
/* .mt4 definido em modules.css */

/* ── METRIC BLOCKS · HUD CARD (glass + radius) ── */
.metric-block  {
    margin-bottom: 12px;
    background:    linear-gradient(155deg, rgba(12,26,38,0.55), rgba(5,10,15,0.55));
    border:        1px solid var(--border);
    border-radius: var(--radius-sm);
    padding:       10px 12px;
    position:      relative;
    overflow:      hidden;
    transition:    border-color .2s, transform .2s, box-shadow .2s;
}
.metric-block:hover {
    border-color: var(--border2);
    transform:    translateY(-1px);
    box-shadow:   var(--shadow-card);
}
.metric-block::before {
    content:    '';
    position:   absolute;
    top:        0; left: 0;
    width:      2px; height: 100%;
    background: var(--accent);
    box-shadow: var(--glow-cyan);
}
.metric-label  {
    font-family:    var(--three-d-font);
    font-size:      6px;
    color:          var(--text3);
    margin-bottom:  6px;
    letter-spacing: .5px;
}
.metric-val {
    font-family: var(--three-d-font);
    font-size:   18px;
}
.metric-val.danger   { color: var(--red);    text-shadow: var(--glow-red); }
.metric-val.accent   { color: var(--accent); text-shadow: var(--glow-cyan); }
.metric-val.safe     { color: var(--green);  text-shadow: var(--glow-green); }
.metric-val.warn     { color: var(--yellow); text-shadow: var(--glow-yellow); }
.metric-val.iso-gold { color: var(--iso-gold); text-shadow: var(--glow-yellow); }
.metric-sub { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); margin-top: 4px; }

/* ── SHIELD BAR · STAR WARS HUD STYLE ── */
.bar-container {
    margin-top:  8px;
    height:      8px;
    background:  #0a0020;
    border:      1px solid rgba(255,255,255,0.1);
    position:    relative;
    overflow:    hidden;
}
.bar-container::before {
    content:  '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 8px,
        rgba(0,0,0,0.3) 8px,
        rgba(0,0,0,0.3) 9px
    );
    z-index: 2;
    pointer-events: none;
}
.bar-width-0 { width: 0 !important; }
.bar-fill {
    height:     100%;
    transition: width .5s;
    position:   relative;
}
.bar-blocked {
    background: linear-gradient(90deg, #ff003c, #ff6666);
    box-shadow: 0 0 6px rgba(255,0,60,0.6);
}
.bar-pps {
    background: linear-gradient(90deg, #00ffff, #0099ff);
    box-shadow: 0 0 6px rgba(0,255,255,0.6);
}
.bar-fill-iso-gold {
    background: linear-gradient(90deg, #ffff00, #ffaa00);
    box-shadow: 0 0 6px rgba(255,255,0,0.6);
}

/* ── ATTACK TYPES · 3D BARS ── */
.attack-types { display: flex; flex-direction: column; gap: 6px; }
.at-row       { display: flex; align-items: center; gap: 6px; }
.at-name      { font-family: var(--three-d-font); font-size: 5px; color: var(--text3); width: 72px; flex-shrink: 0; letter-spacing: .5px; }
.at-bar       { flex: 1; height: 6px; background: #0a0020; border: 1px solid rgba(255,255,255,0.08); }
.at-fill      { height: 100%; transition: width .5s; width: 0; }
.at-fill-red    { background: linear-gradient(90deg, #ff003c, #ff6666); box-shadow: 0 0 4px rgba(255,0,60,0.7); }
.at-fill-orange { background: linear-gradient(90deg, #ff6600, #ffaa00); box-shadow: 0 0 4px rgba(255,102,0,0.7); }
.at-fill-purple { background: linear-gradient(90deg, #cc00ff, #9900cc); box-shadow: 0 0 4px rgba(204,0,255,0.7); }
.at-fill-yellow { background: linear-gradient(90deg, #ffff00, #ffaa00); box-shadow: 0 0 4px rgba(255,255,0,0.7); }
.at-fill-accent { background: linear-gradient(90deg, #00ffff, #0099ff); box-shadow: 0 0 4px rgba(0,255,255,0.7); }
.at-fill-sql    { background: linear-gradient(90deg, #ff00aa, #cc0077); box-shadow: 0 0 4px rgba(255,0,170,0.7); }
.at-count  { font-family: var(--three-d-font); font-size: 7px; width: 22px; text-align: right; }
.at-count-red    { color: var(--red);    text-shadow: var(--glow-red); }
.at-count-orange { color: var(--orange); }
.at-count-purple { color: var(--purple); text-shadow: var(--glow-purple); }
.at-count-yellow { color: var(--yellow); text-shadow: var(--glow-yellow); }
.at-count-accent { color: var(--accent); text-shadow: var(--glow-cyan); }
.at-count-sql    { color: var(--pink);   text-shadow: var(--glow-pink); }

/* ── PROTO GRID · 3D CELLS ── */
.proto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.proto-cell {
    background: #0a0020;
    border:     2px solid rgba(0,255,255,0.2);
    padding:    7px 6px;
    position:   relative;
    overflow:   hidden;
}
.proto-cell::after {
    content:    '';
    position:   absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, var(--accent), transparent);
    opacity: .5;
}
.proto-name          { font-family: var(--three-d-font); font-size: 5px; color: var(--text3); margin-bottom: 4px; }
.proto-val           { font-family: var(--three-d-font); font-size: 11px; color: var(--accent); text-shadow: var(--glow-cyan); }
.proto-val-rst       { color: var(--red); text-shadow: var(--glow-red); }
.proto-status        { font-family: 'Share Tech Mono', monospace; font-size: 8px; color: var(--text3); }
.proto-status-alerta { color: var(--red); text-shadow: var(--glow-red); }

/* ── FIREWALL · 3D HUD ── */
.fw-rule { display: flex; align-items: center; gap: 7px; padding: 5px 4px; border-bottom: 1px solid rgba(255,0,170,0.1); }
.badge {
    font-family:    var(--three-d-font);
    font-size:      5px;
    padding:        3px 5px;
    flex-shrink:    0;
    letter-spacing: .3px;
    clip-path:      polygon(2px 0%, 100% 0%, calc(100% - 2px) 100%, 0% 100%);
}
.badge-block { background: rgba(255,0,60,.15);  color: var(--red);   border: 1px solid rgba(255,0,60,.4);   box-shadow: 0 0 4px rgba(255,0,60,0.3); }
.badge-allow { background: rgba(0,255,65,.1);   color: var(--green); border: 1px solid rgba(0,255,65,.4);   box-shadow: 0 0 4px rgba(0,255,65,0.3); }
.badge-new   { background: rgba(0,255,255,.1);  color: var(--accent);border: 1px solid rgba(0,255,255,.4);  box-shadow: 0 0 4px rgba(0,255,255,0.3); }
.fw-rule-text      { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text2); }
.fw-rule-text .ip  { color: var(--text1); }
.fw-rule-text .port { color: var(--accent); text-shadow: 0 0 4px rgba(0,255,255,0.5); }

/* ── WIFI ── */
.wifi-item { padding: 7px 0; border-bottom: 1px solid var(--border); }
.wifi-ssid {
    font-size:       11px;
    color:           var(--text1);
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    margin-bottom:   3px;
}
.wifi-threat       { font-size: 9px; padding: 1px 5px; border-radius: 3px; }
.wifi-threat.low   { color: var(--green);  border: 1px solid rgba(0,255,136,.3); }
.wifi-threat.med   { color: var(--yellow); border: 1px solid rgba(255,214,0,.3); }
.wifi-threat.high  { color: var(--red);    border: 1px solid rgba(255,43,85,.3); animation: pulse 1.5s infinite; }
.wifi-detail       { font-size: 10px; color: var(--text3); display: flex; gap: 10px; }

/* ── DB STATS · CYBERPUNK TABLE ── */
.db-stats     { display: flex; flex-direction: column; gap: 3px; }
.db-table-row {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    padding:         5px 8px;
    border-bottom:   1px solid rgba(0,255,255,0.06);
    transition:      background .1s;
}
.db-table-row:hover { background: rgba(0,255,255,0.04); }
.db-tname  { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); }
.db-tcount { font-family: var(--three-d-font); font-size: 7px; color: var(--accent); text-shadow: var(--glow-cyan); }

/* ── ISO BADGE sidebar · 3D PANEL ── */
.iso-badge {
    margin-top:  12px;
    background:  rgba(255,255,0,0.03);
    border:      1px solid rgba(255,255,0,0.25);
    padding:     10px;
    position:    relative;
    box-shadow:  0 0 10px rgba(255,255,0,0.05);
}
.iso-badge::before {
    content:    '';
    position:   absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: var(--yellow);
    box-shadow: var(--glow-yellow);
}
.iso-title {
    font-family:    var(--three-d-font);
    font-size:      6px;
    color:          var(--yellow);
    margin-bottom:  10px;
    text-shadow:    var(--glow-yellow);
    letter-spacing: .5px;
}
.iso-items { display: flex; flex-direction: column; gap: 6px; }
.iso-item  { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text2); }
.iso-check { color: var(--green); margin-right: 4px; text-shadow: var(--glow-green); }

/* ── NETMAP · HUD GRID ── */
.netmap {
    position:      relative;
    background:    radial-gradient(ellipse at center, #0b1f2c 0%, #05090e 70%);
    border-bottom: 1px solid var(--border2);
    box-shadow:    0 2px 20px rgba(0,212,255,0.12);
    flex-shrink:   0;
    height:        170px;
    overflow:      hidden;
}
.netmap::before {
    content:    '';
    position:   absolute;
    inset:      0;
    background-image:
        linear-gradient(rgba(0,212,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,212,255,0.05) 1px, transparent 1px);
    background-size: 20px 20px;
    pointer-events:  none;
    z-index:         1;
}
#netCanvas         { width: 100%; height: 100%; display: block; position: relative; z-index: 2; }
.netmap-label      {
    position:   absolute; bottom: 8px; left: 12px;
    font-family:var(--three-d-font);
    font-size:  6px; color: var(--text3);
    z-index: 3; letter-spacing: .5px;
}
.attack-counter    {
    position:   absolute; bottom: 8px; right: 12px;
    font-family:var(--three-d-font);
    font-size:  7px; color: var(--red);
    text-shadow: var(--glow-red);
    animation:  threeDPulse 1s steps(2,end) infinite;
    z-index: 3;
}

/* ── TABS · HUD SELECT BAR ── */
.tab-bar {
    display:        flex;
    border-bottom:  1px solid var(--border2);
    background:     linear-gradient(180deg, rgba(10,22,32,0.85) 0%, rgba(5,10,15,0.9) 100%);
    box-shadow:     0 2px 10px rgba(0,212,255,0.08);
    flex-shrink:    0;
    overflow-x:     auto;
}
.tab-btn {
    font-family:    var(--three-d-font);
    font-size:      7px;
    padding:        12px 14px;
    background:     none;
    border:         none;
    border-right:   1px solid rgba(0,212,255,0.1);
    color:          var(--text3);
    cursor:         pointer;
    border-bottom:  2px solid transparent;
    white-space:    nowrap;
    letter-spacing: .5px;
    transition:     all .15s;
    position:       relative;
}
.tab-btn::after {
    content:    '';
    position:   absolute;
    bottom:     0; left: 0; right: 0;
    height:     0;
    background: var(--accent);
    transition: height .15s;
    box-shadow: var(--glow-cyan);
}
.tab-btn:hover {
    color:      var(--accent);
    background: rgba(0,212,255,0.05);
    text-shadow: var(--glow-cyan);
}
.tab-btn.active {
    color:        var(--accent);
    border-bottom-color: var(--accent);
    background:   rgba(0,212,255,0.08);
    text-shadow:  var(--glow-cyan);
    box-shadow:   inset 0 -2px 0 var(--accent);
}
.iso-gold-btn.active  { color: var(--yellow);  border-bottom-color: var(--yellow);  text-shadow: var(--glow-yellow); }
.inv-gold-btn.active  { color: var(--yellow);  border-bottom-color: var(--yellow);  text-shadow: var(--glow-yellow); }
.inv-green-btn.active { color: var(--green);   border-bottom-color: var(--green);   text-shadow: var(--glow-green); }
.tab-content          { display: none; flex: 1; overflow-y: auto; min-height: 0; }
.tab-content.visible  { display: flex; flex-direction: column; }

/* ── LOG FEED · CYBERPUNK TERMINAL ── */
.feed-title {
    font-family:    var(--three-d-font);
    font-size:      7px;
    color:          var(--accent);
    padding:        10px 16px 8px;
    text-shadow:    var(--glow-cyan);
    letter-spacing: 1px;
    border-bottom:  1px solid rgba(0,255,255,0.1);
}
.feed-list  { padding: 0 8px; }
.feed-item  {
    display:        flex;
    align-items:    flex-start;
    gap:            8px;
    padding:        6px 8px;
    border-bottom:  1px solid rgba(0,255,255,0.05);
    font-size:      11px;
    transition:     background .1s;
}
.feed-item:hover { background: rgba(0,255,255,0.03); }
.feed-item.critical {
    border-left: 3px solid var(--red);
    background:  rgba(255,0,60,0.04);
    box-shadow:  inset 3px 0 10px rgba(255,0,60,0.05);
}
.feed-item.blocked  {
    border-left: 3px solid var(--green);
    background:  rgba(0,255,65,0.03);
}
.feed-item.info     { border-left: 3px solid var(--accent); }
.feed-item.warning  {
    border-left: 3px solid var(--yellow);
    background:  rgba(255,255,0,0.03);
}
.feed-ts   { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); flex-shrink: 0; }
.feed-type {
    font-family:    var(--three-d-font);
    font-size:      6px;
    padding:        2px 5px;
    flex-shrink:    0;
    letter-spacing: .3px;
}
.t-critical {
    background: rgba(255,0,60,.2);
    color:      var(--red);
    border:     1px solid rgba(255,0,60,.4);
    box-shadow: var(--glow-red);
}
.t-blocked  {
    background: rgba(0,255,65,.1);
    color:      var(--green);
    border:     1px solid rgba(0,255,65,.3);
}
.t-info     {
    background: rgba(0,255,255,.1);
    color:      var(--accent);
    border:     1px solid rgba(0,255,255,.3);
}
.t-warning  {
    background: rgba(255,255,0,.1);
    color:      var(--yellow);
    border:     1px solid rgba(255,255,0,.3);
}
.feed-msg       { color: var(--text2); line-height: 1.5; font-size: 10px; }
.feed-msg .src  { color: var(--red);    text-shadow: var(--glow-red); }
.feed-msg .hi   { color: var(--accent); text-shadow: var(--glow-cyan); }
.feed-msg .ok   { color: var(--green);  text-shadow: var(--glow-green); }

/* ── CTRL BAR · CONSOLE DE COMANDO GALÁCTICO ── */
.ctrl-bar {
    display:     flex;
    align-items: center;
    gap:         8px;
    padding:     12px 14px;
    border-top:  1px solid var(--border);
    background:  linear-gradient(180deg, rgba(8,18,26,0.7) 0%, rgba(5,10,15,0.85) 100%);
    flex-wrap:   wrap;
}

.threat-level { margin-left: auto; font-size: 11px; color: var(--text2); display: flex; align-items: center; gap: 6px; }
.tl-label     { font-family: var(--three-d-font); font-size: 6px; color: var(--text3); }
.tl-val       { font-family: var(--three-d-font); font-size: 9px; color: var(--green); text-shadow: var(--glow-green); }

/* ── JSON SENDER ── */
.jsend      { padding: 14px 16px; }
.jsend-body { display: flex; flex-direction: column; gap: 14px; }
.jstats-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.jsc {
    background:    var(--bg3);
    border:        1px solid var(--border);
    border-radius: 6px;
    padding:       8px;
    text-align:    center;
}
.jsc.ok { border-color: rgba(0,255,136,.3); }
.jsc.er { border-color: rgba(255,43,85,.3); }
.jsc.wn { border-color: rgba(255,214,0,.3); }
.jsc-val { font-family: 'Share Tech Mono', monospace; font-size: 16px; color: var(--accent); }
.jsc-lbl { font-size: 9px; color: var(--text3); margin-top: 2px; }

.jstitle { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--accent); margin-bottom: 8px; }
.jlbl    { font-size: 10px; color: var(--text3); margin-bottom: 6px; }
.jfield-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.jfield-group select,
.jfield-group input {
    width:         100%;
    background:    var(--bg3);
    border:        1px solid var(--border);
    color:         var(--text1);
    padding:       6px 8px;
    border-radius: 4px;
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
}

.sev-row { display: flex; gap: 6px; }
.sev-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     10px;
    padding:       5px 12px;
    border-radius: 4px;
    cursor:        pointer;
    border:        1px solid var(--border);
    background:    var(--bg3);
    color:         var(--text2);
}
.sev-btn.sl { background: rgba(0,255,136,.1);  color: var(--green);  border-color: rgba(0,255,136,.3); }
.sev-btn.sm { background: rgba(255,214,0,.1);  color: var(--yellow); border-color: rgba(255,214,0,.3); }
.sev-btn.sh { background: rgba(255,140,0,.1);  color: var(--orange); border-color: rgba(255,140,0,.3); }
.sev-btn.sc { background: rgba(255,43,85,.15); color: var(--red);    border-color: rgba(255,43,85,.3); }

.msg-wrap textarea {
    width:         100%;
    background:    var(--bg3);
    border:        1px solid var(--border);
    color:         var(--text1);
    padding:       8px;
    border-radius: 4px;
    font-family:   'Share Tech Mono', monospace;
    font-size:     11px;
    resize:        vertical;
    min-height:    60px;
}
.msg-wrap    { position: relative; }
.msg-chars   { position: absolute; bottom: 6px; right: 8px; font-size: 9px; color: var(--text3); }
.msg-chars.warn { color: var(--yellow); }
.msg-chars.err  { color: var(--red); }

.tags-row { display: flex; flex-wrap: wrap; gap: 5px; }
.tag-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     9px;
    padding:       3px 8px;
    border-radius: 3px;
    border:        1px solid var(--border);
    background:    var(--bg3);
    color:         var(--text3);
    cursor:        pointer;
}
.tag-btn.active { background: rgba(0,212,255,.15); color: var(--accent); border-color: rgba(0,212,255,.4); }

.json-preview {
    background:    var(--bg);
    border:        1px solid var(--border);
    border-radius: 4px;
    padding:       10px;
    font-family:   'Share Tech Mono', monospace;
    font-size:     10px;
    color:         var(--text2);
    white-space:   pre;
    overflow-x:    auto;
    max-height:    160px;
}
.json-preview .jk { color: var(--accent); }
.json-preview .js { color: var(--green); }
.json-preview .jn { color: var(--yellow); }
.json-preview .jb { color: var(--purple); }

.prog-wrap  { display: none; height: 3px; background: var(--bg4); border-radius: 2px; overflow: hidden; }
.prog-fill  { height: 100%; background: var(--accent); border-radius: 2px; transition: width .3s; width: 0; }
.send-btn {
    width:           100%;
    font-family:     var(--three-d-font);
    font-size:       8px;
    padding:         12px;
    background:      rgba(255,0,170,.1);
    color:           var(--pink);
    border:          2px solid rgba(255,0,170,.5);
    cursor:          pointer;
    letter-spacing:  .5px;
    clip-path:       polygon(4px 0%, 100% 0%, 100% calc(100% - 4px), calc(100% - 4px) 100%, 0% 100%, 0% 4px);
    transition:      all .1s;
    box-shadow:      0 0 10px rgba(255,0,170,0.2);
}
.send-btn:hover:not(:disabled) {
    background: rgba(255,0,170,.2);
    box-shadow: var(--glow-pink);
    text-shadow: var(--glow-pink);
}
.send-btn:disabled { opacity: .4; cursor: not-allowed; }

.jlog-panel  { border: 1px solid var(--border); border-radius: 4px; overflow: hidden; }
.jlog-head   {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         7px 10px;
    background:      var(--bg3);
    border-bottom:   1px solid var(--border);
}
.jlog-title    { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--accent); }
.jlog-controls { display: flex; align-items: center; gap: 8px; }
.jlog-stats    { display: flex; gap: 8px; font-family: 'Share Tech Mono', monospace; font-size: 9px; }
.jstat-ok   { color: var(--green); }
.jstat-warn { color: var(--yellow); }
.jstat-err  { color: var(--red); }
.export-btn, .clr-btn {
    font-family:   'Share Tech Mono', monospace;
    font-size:     9px;
    padding:       3px 7px;
    border-radius: 3px;
    border:        1px solid var(--border);
    background:    var(--bg4);
    color:         var(--text2);
    cursor:        pointer;
}
.jlog-body {
    padding:        8px;
    max-height:     140px;
    overflow-y:     auto;
    display:        flex;
    flex-direction: column;
    gap:            3px;
}
.jlog-line { display: flex; gap: 7px; font-size: 10px; }
.jlog-ts   { font-family: 'Share Tech Mono', monospace; color: var(--text3); flex-shrink: 0; }
.jlog-tag  { font-family: 'Share Tech Mono', monospace; font-size: 9px; padding: 0 4px; border-radius: 2px; flex-shrink: 0; }
.jt-sys  { background: rgba(0,212,255,.1);  color: var(--accent); }
.jt-db   { background: rgba(155,89,255,.1); color: var(--purple); }
.jt-ok   { background: rgba(0,255,136,.1);  color: var(--green); }
.jt-warn { background: rgba(255,214,0,.1);  color: var(--yellow); }
.jt-err  { background: rgba(255,43,85,.1);  color: var(--red); }
.jt-json { background: rgba(255,140,0,.1);  color: var(--orange); }
.jlog-msg        { color: var(--text2); }
.jlog-msg .ok    { color: var(--green); }
.jlog-msg .er    { color: var(--red); }
.jlog-msg .wa    { color: var(--orange); }
.jlog-msg .pu    { color: var(--purple); }
.jlog-msg .hi    { color: var(--accent); }

.margin-top-4 { margin-top: 4px; }
.margin-top-6 { margin-top: 6px; }

/* ══════════════════════════════════════════════
   CORPORATE PANEL
══════════════════════════════════════════════ */
.corp-panel  { padding: 16px 18px; display: flex; flex-direction: column; gap: 18px; }
.corp-header {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-start;
    background:      var(--bg3);
    border:          1px solid var(--border);
    border-radius:   8px;
    padding:         14px 16px;
    flex-wrap:       wrap;
    gap:             10px;
}
.corp-name   { font-family: 'Share Tech Mono', monospace; font-size: 18px; color: var(--accent); letter-spacing: 3px; }
.corp-sub    { font-size: 11px; color: var(--text2); margin-top: 3px; }
.corp-cnpj   { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--text3); margin-top: 4px; }
.corp-header-right { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.corp-status-badge {
    font-family: 'Share Tech Mono', monospace; font-size: 10px; padding: 4px 10px; border-radius: 3px;
    background: rgba(0,255,136,.1); color: var(--green); border: 1px solid rgba(0,255,136,.25);
}
.real-data-badge {
    font-family: 'Share Tech Mono', monospace; font-size: 10px; padding: 4px 10px; border-radius: 3px;
    background: rgba(155,89,255,.1); color: var(--purple); border: 1px solid rgba(155,89,255,.25);
}
.corp-section-title {
    font-family:    var(--three-d-font);
    font-size:      7px;
    color:          var(--accent);
    text-shadow:    var(--glow-cyan);
    border-bottom:  1px solid rgba(0,255,255,0.2);
    padding-bottom: 8px;
    margin-bottom:  10px;
    letter-spacing: .5px;
}
.corp-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.corp-card { background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; padding: 12px; text-align: center; }
.corp-card-title { font-size: 10px; color: var(--text3); margin-bottom: 6px; }
.corp-card-val   { font-family: 'Share Tech Mono', monospace; font-size: 24px; color: var(--green); }
.corp-card-sub   { font-size: 10px; color: var(--text3); margin-top: 3px; }

.corp-docs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.doc-card {
    background: var(--bg3); border: 1px solid var(--border); border-radius: 6px;
    padding: 12px; cursor: pointer; transition: all .2s; position: relative; overflow: hidden;
}
.doc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--accent); opacity:0; transition:opacity .2s; }
.doc-card:hover { border-color: rgba(0,212,255,.35); }
.doc-card:hover::before { opacity:1; }
.doc-card.doc-verified::before { background:var(--green); opacity:1; }
.doc-card.doc-verified { border-color: rgba(0,255,136,.25); }
.doc-icon   { font-size: 20px; margin-bottom: 6px; }
.doc-title  { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--text1); margin-bottom: 3px; }
.doc-org    { font-size: 10px; color: var(--text3); margin-bottom: 5px; }
.doc-date   { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--accent); margin-bottom: 4px; }
.doc-badge  { font-family: 'Share Tech Mono', monospace; font-size: 8px; padding: 2px 6px; border-radius: 3px; display: inline-block; }
.doc-badge.verified { background: rgba(0,255,136,.1); color: var(--green); border: 1px solid rgba(0,255,136,.3); }
.doc-badge.active   { background: rgba(0,212,255,.1); color: var(--accent); border: 1px solid rgba(0,212,255,.3); }
.doc-number { font-size: 9px; color: var(--text3); margin-top: 4px; font-family: 'Share Tech Mono', monospace; }

.corp-employees { display: flex; flex-direction: column; gap: 8px; }
.emp-row {
    display: flex; align-items: center; gap: 10px; padding: 8px;
    background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; transition: border-color .2s; flex-wrap: wrap;
}
.emp-row:hover { border-color: rgba(0,212,255,.3); }
.emp-avatar { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; flex-shrink:0; border:1px solid; }
.emp-name  { font-size: 11px; color: var(--text1); font-weight: 600; }
.emp-role  { font-size: 10px; color: var(--text3); }
.emp-dept  { font-size: 10px; color: var(--text2); margin-left: auto; }
.emp-doc   { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); margin-top: 1px; }
.emp-status { font-family: 'Share Tech Mono', monospace; font-size: 9px; padding: 2px 6px; border-radius: 3px; }
.emp-status.online  { background: rgba(0,255,136,.1); color: var(--green); }
.emp-status.away    { background: rgba(255,214,0,.1); color: var(--yellow); }
.emp-status.offline { background: rgba(255,43,85,.1); color: var(--red); }

.corp-assets { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.asset-card  { background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; padding: 10px; }
.asset-type  { font-size: 9px; color: var(--text3); margin-bottom: 3px; }
.asset-name  { font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--text1); }
.asset-ip    { font-size: 10px; color: var(--accent); margin-top: 2px; }
.asset-status { font-size: 9px; padding: 2px 5px; border-radius: 2px; margin-top: 5px; display: inline-block; }
.as-ok   { background: rgba(0,255,136,.1); color: var(--green); }
.as-warn { background: rgba(255,214,0,.1); color: var(--yellow); }
.as-crit { background: rgba(255,43,85,.1); color: var(--red); }

.corp-suppliers { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.supplier-card  { background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; padding: 10px; transition: border-color .2s; }
.supplier-card:hover { border-color: rgba(0,212,255,.3); }
.supplier-name    { font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--text1); margin-bottom: 3px; }
.supplier-service { font-size: 10px; color: var(--text2); margin-bottom: 5px; }
.supplier-row     { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.supplier-val     { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--accent); }
.supplier-risk    { font-size: 9px; padding: 2px 6px; border-radius: 3px; }
.risk-low  { background: rgba(0,255,136,.1);  color: var(--green);  border: 1px solid rgba(0,255,136,.25); }
.risk-med  { background: rgba(255,214,0,.1);  color: var(--yellow); border: 1px solid rgba(255,214,0,.25); }
.risk-high { background: rgba(255,43,85,.1);  color: var(--red);    border: 1px solid rgba(255,43,85,.25); }
.supplier-contract { font-size: 9px; color: var(--text3); margin-top: 3px; font-family: 'Share Tech Mono', monospace; }

.corp-compliance { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.comp-item  { background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; padding: 10px; }
.comp-val   { font-family: 'Share Tech Mono', monospace; font-size: 16px; color: var(--green); margin-bottom: 2px; }
.comp-label { font-size: 10px; color: var(--text3); margin-bottom: 6px; }
.comp-bar   { height: 3px; background: var(--bg4); border-radius: 2px; }
.comp-fill  { height: 100%; background: var(--green); border-radius: 2px; }

.corp-budget { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.budget-card { background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; padding: 10px; }
.budget-cat  { font-size: 9px; color: var(--text3); margin-bottom: 4px; }
.budget-val  { font-family: 'Share Tech Mono', monospace; font-size: 14px; color: var(--yellow); }
.budget-pct  { font-size: 9px; color: var(--text3); margin-top: 2px; }
.budget-bar  { height: 2px; background: var(--bg4); border-radius: 1px; margin-top: 6px; }
.budget-fill { height: 100%; background: var(--yellow); border-radius: 1px; transition: width .5s; }

.corp-ai-panel {
    background: var(--bg3); border: 1px solid rgba(155,89,255,.3); border-radius: 6px; padding: 14px; min-height: 80px;
}
.corp-ai-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.corp-ai-title  { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--purple); }
.corp-ai-body   { font-size: 11px; color: var(--text2); line-height: 1.7; }
.ai-report-hint { color: var(--text3); font-style: italic; }
.ai-loading     { display: none; align-items: center; gap: 6px; font-size: 10px; color: var(--purple); }
.ai-dot         { width: 6px; height: 6px; border-radius: 50%; background: var(--purple); animation: pulse .8s infinite; }
.corp-report-btn {
    width:100%; font-family:'Share Tech Mono',monospace; font-size:11px; padding:10px;
    background:rgba(155,89,255,.1); color:var(--purple); border:1px solid rgba(155,89,255,.3);
    border-radius:4px; cursor:pointer; letter-spacing:.5px; margin-top:8px;
}
.d-none { display: none !important; }

.corp-transparency {
    background: var(--bg3); border: 1px solid rgba(255,214,0,.2); border-radius: 8px; padding: 16px;
}
.transp-score-row {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--border);
}
.transp-score-block { text-align: center; min-width: 90px; }
.transp-score-val   { font-family: 'Share Tech Mono', monospace; font-size: 28px; font-weight: 700; color: var(--green); }
.transp-100 { color: var(--red) !important; text-decoration: line-through; text-decoration-color: var(--red); opacity: .7; }
.transp-score-impossible .transp-score-lbl { color: var(--red); }
.transp-score-lbl   { font-size: 10px; color: var(--text3); margin-top: 3px; font-family: 'Share Tech Mono', monospace; }
.transp-score-vs    { font-family: 'Share Tech Mono', monospace; font-size: 28px; color: var(--yellow); opacity: .6; }
.transp-explain     { flex: 1; min-width: 200px; font-size: 11px; color: var(--text2); line-height: 1.6; padding: 8px 12px; background: rgba(255,214,0,.04); border-left: 2px solid rgba(255,214,0,.3); border-radius: 0 4px 4px 0; }
.transp-explain strong { color: var(--yellow); }
.transp-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.transp-card  { background: var(--bg2); border: 1px solid var(--border); border-radius: 6px; padding: 12px; transition: border-color .2s; }
.transp-card:hover { border-color: rgba(255,214,0,.3); }
.transp-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.transp-num   { font-family: 'Share Tech Mono', monospace; font-size: 18px; font-weight: 700; color: var(--text3); min-width: 28px; }
.transp-icon  { font-size: 18px; flex-shrink: 0; }
.transp-title { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--text1); line-height: 1.3; }
.transp-impact { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--yellow); margin-top: 2px; }
.transp-detalhe { font-size: 10px; color: var(--text2); line-height: 1.65; padding-top: 4px; border-top: 1px solid var(--border); }
.transp-footer  { margin-top:14px; padding-top:10px; border-top:1px solid var(--border); font-size:10px; color:var(--text3); line-height:1.6; text-align:center; }

/* ══════════════════════════════════════════════
   ISO 27001
══════════════════════════════════════════════ */
.iso-panel { padding: 16px 18px; display: flex; flex-direction: column; gap: 18px; }
.iso-header {
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
    background: linear-gradient(135deg, rgba(255,214,0,.06), rgba(0,212,255,.04));
    border: 1px solid rgba(255,214,0,.25); border-radius: 8px; padding: 16px 20px;
}
.iso-header-left   { display: flex; flex-direction: column; gap: 4px; }
.iso-main-title    { font-family: 'Share Tech Mono', monospace; font-size: 16px; color: var(--iso-gold); letter-spacing: 2px; }
.iso-subtitle      { font-size: 11px; color: var(--text2); }
.iso-cert-info     { font-size: 10px; color: var(--text3); margin-top: 6px; font-family: 'Share Tech Mono', monospace; }
.iso-cert-status   { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.iso-progress-ring { position: relative; width: 80px; height: 80px; }
.iso-ring-svg      { transform: rotate(-90deg); }
.iso-ring-bg       { fill: none; stroke: rgba(255,214,0,.1); stroke-width: 6; }
.iso-ring-fill     { fill: none; stroke: var(--iso-gold); stroke-width: 6; stroke-linecap: round; transition: stroke-dashoffset 1s; }
.iso-ring-text     { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font-family: 'Share Tech Mono', monospace; font-size: 14px; color: var(--iso-gold); font-weight: 700; }
.iso-cert-label    { font-size: 9px; color: var(--text3); text-align: center; font-family: 'Share Tech Mono', monospace; }

.iso-kpi-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.iso-kpi     { background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; padding: 12px; text-align: center; }
.iso-kpi.gold   { border-color: rgba(255,214,0,.3); }
.iso-kpi.green  { border-color: rgba(0,255,136,.3); }
.iso-kpi.accent { border-color: rgba(0,212,255,.3); }
.iso-kpi.red    { border-color: rgba(255,43,85,.3); }
.iso-kpi-val { font-family: 'Share Tech Mono', monospace; font-size: 20px; }
.iso-kpi.gold  .iso-kpi-val { color: var(--iso-gold); }
.iso-kpi.green .iso-kpi-val { color: var(--green); }
.iso-kpi.accent .iso-kpi-val { color: var(--accent); }
.iso-kpi.red   .iso-kpi-val { color: var(--red); }
.iso-kpi-lbl { font-size: 9px; color: var(--text3); margin-top: 4px; }

.iso-steps-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.iso-step {
    background: var(--bg3); border: 1px solid var(--border); border-radius: 8px;
    padding: 14px; cursor: pointer; transition: all .3s; position: relative; overflow: hidden;
}
.iso-step:hover       { border-color: rgba(255,214,0,.3); }
.iso-step.completed   { border-color: rgba(0,255,136,.4); background: rgba(0,255,136,.03); }
.iso-step.in-progress { border-color: rgba(255,214,0,.4); background: rgba(255,214,0,.03); animation: borderPulse 2s infinite; }
@keyframes borderPulse { 0%,100%{border-color:rgba(255,214,0,.4)}50%{border-color:rgba(255,214,0,.8)} }
.iso-step-header   { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.iso-step-num      { font-family: 'Share Tech Mono', monospace; font-size: 22px; color: var(--text3); font-weight: 700; flex-shrink: 0; width: 36px; }
.iso-step.completed .iso-step-num   { color: var(--green); }
.iso-step.in-progress .iso-step-num { color: var(--iso-gold); }
.iso-step-icon     { font-size: 20px; flex-shrink: 0; }
.iso-step-title    { font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--text1); }
.iso-step-subtitle { font-size: 10px; color: var(--text3); margin-top: 2px; }
.iso-step-body     { font-size: 10px; color: var(--text2); line-height: 1.6; margin-bottom: 10px; }
.iso-step-checklist { display: flex; flex-direction: column; gap: 4px; }
.iso-check-item {
    display: flex; align-items: center; gap: 7px; padding: 4px 6px;
    border-radius: 3px; cursor: pointer; transition: background .2s; font-size: 10px; color: var(--text2);
}
.iso-check-item:hover { background: rgba(255,214,0,.05); }
.iso-check-item.done  { color: var(--text3); }
.iso-check-item.done .chk { background: var(--green); border-color: var(--green); color: #000; }
.chk { width:14px; height:14px; border:1px solid var(--text3); border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:8px; flex-shrink:0; transition:all .2s; }
.iso-step-footer  { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--border); }
.iso-step-progress-bar  { flex: 1; height: 3px; background: var(--bg4); border-radius: 2px; margin-right: 10px; }
.iso-step-progress-fill { height: 100%; border-radius: 2px; background: var(--iso-gold); transition: width .5s; }
.iso-step.completed .iso-step-progress-fill { background: var(--green); }
.iso-step-pct   { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); flex-shrink: 0; }
.iso-step-badge { font-family: 'Share Tech Mono', monospace; font-size: 8px; padding: 2px 6px; border-radius: 3px; }
.badge-done    { background: rgba(0,255,136,.1);   color: var(--green);    border: 1px solid rgba(0,255,136,.3); }
.badge-wip     { background: rgba(255,214,0,.1);   color: var(--iso-gold); border: 1px solid rgba(255,214,0,.3); animation: pulse 1.5s infinite; }
.badge-pending { background: rgba(100,100,120,.1); color: var(--text3);    border: 1px solid var(--border); }

.annex-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.annex-card { background: var(--bg3); border: 1px solid var(--border); border-radius: 6px; padding: 10px; cursor: pointer; transition: all .2s; }
.annex-card:hover        { border-color: rgba(255,214,0,.3); }
.annex-card.annex-done   { border-color: rgba(0,255,136,.3); background: rgba(0,255,136,.03); }
.annex-card.annex-partial { border-color: rgba(255,214,0,.3); background: rgba(255,214,0,.02); }
.annex-num   { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); margin-bottom: 3px; }
.annex-title { font-size: 10px; color: var(--text1); margin-bottom: 5px; line-height: 1.3; }
.annex-bar   { height: 2px; background: var(--bg4); border-radius: 1px; }
.annex-fill  { height: 100%; border-radius: 1px; }
.annex-done    .annex-fill { background: var(--green); }
.annex-partial .annex-fill { background: var(--iso-gold); }
.annex-fill-default        { background: var(--text3); }
.annex-pct { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); margin-top: 3px; }

.iso-timeline { position: relative; padding-left: 24px; }
.iso-timeline::before { content:''; position:absolute; left:8px; top:0; bottom:0; width:1px; background:var(--border); }
.tl-item   { position: relative; margin-bottom: 14px; }
.tl-dot    { position: absolute; left: -20px; top: 3px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--border); background: var(--bg); }
.tl-dot.done   { border-color: var(--green);    background: var(--green); }
.tl-dot.active { border-color: var(--iso-gold); background: var(--iso-gold); animation: pulse 1s infinite; }
.tl-dot.future { border-color: var(--text3); }
.tl-date   { font-family: 'Share Tech Mono', monospace; font-size: 9px; color: var(--text3); }
.tl-event  { font-size: 11px; color: var(--text1); margin-top: 1px; }
.tl-detail { font-size: 10px; color: var(--text2); margin-top: 1px; }

.iso-ai-panel    { background: var(--bg3); border: 1px solid rgba(155,89,255,.3); border-radius: 6px; padding: 14px; }
.iso-ai-controls { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; align-items: center; }
.iso-ai-btn      { font-family: 'Share Tech Mono', monospace; font-size: 10px; padding: 7px 14px; border-radius: 4px; cursor: pointer; border: 1px solid; transition: all .2s; }
.iso-ai-btn-main  { background: rgba(155,89,255,.1); color: var(--purple);   border-color: rgba(155,89,255,.3); }
.iso-ai-btn-gold  { background: rgba(255,214,0,.1);  color: var(--iso-gold); border-color: rgba(255,214,0,.3); }
.iso-ai-btn-green { background: rgba(0,255,136,.1);  color: var(--green);    border-color: rgba(0,255,136,.3); }
.iso-ai-btn:hover { opacity: .8; }
.iso-ai-output    { font-size: 11px; color: var(--text2); line-height: 1.7; min-height: 60px; }
.iso-ai-hint      { color: var(--text3); font-style: italic; }
.ai-hide          { display: none; }
.ai-loading-msg   { font-size: 10px; color: var(--purple); }

.cert-final {
    background: linear-gradient(135deg, rgba(255,214,0,.06), rgba(0,212,255,.04), rgba(255,214,0,.06));
    border: 1px solid rgba(255,214,0,.4); border-radius: 10px; padding: 20px; text-align: center; display: none;
}
.cert-final.visible { display: block; animation: certAppear .8s ease; }
@keyframes certAppear { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }
.cert-seal    { font-size: 48px; margin-bottom: 8px; }
.cert-title   { font-family: 'Share Tech Mono', monospace; font-size: 18px; color: var(--iso-gold); letter-spacing: 3px; margin-bottom: 6px; }
.cert-company { font-size: 14px; color: var(--text1); margin-bottom: 4px; }
.cert-cnpj    { font-family: 'Share Tech Mono', monospace; font-size: 11px; color: var(--text3); margin-bottom: 10px; }
.cert-desc    { font-size: 11px; color: var(--text2); margin-top: 6px; }
.cert-details { display: flex; justify-content: center; gap: 30px; margin-top: 12px; flex-wrap: wrap; }
.cert-detail-item { text-align: center; }
.cert-detail-val  { font-family: 'Share Tech Mono', monospace; font-size: 13px; color: var(--green); }
.cert-detail-lbl  { font-size: 10px; color: var(--text3); }

/* ══════════════════════════════════════════════
   NOTA FISCAL · MODAL
══════════════════════════════════════════════ */
.nf-product-preview {
    background:    rgba(0,212,255,.05);
    border:        1px solid rgba(0,212,255,.2);
    border-radius: 6px;
    padding:       12px 14px;
    margin-bottom: 16px;
}
.nf-pp-name  { font-family:'Share Tech Mono',monospace; font-size:14px; color:var(--accent); font-weight:700; margin-bottom:4px; }
.nf-pp-price { font-family:'Share Tech Mono',monospace; font-size:13px; color:var(--green);  margin-bottom:3px; }
.nf-pp-model { font-size:11px; color:var(--text3); }

/* Nota Fiscal · container */
.nf-wrap {
    background:    var(--bg3);
    border:        1px solid var(--accent);
    border-radius: 2px;
    padding:       0;
    margin-bottom: 14px;
    font-family:   'Share Tech Mono', monospace;
    box-shadow:    0 0 20px rgba(0,212,255,.15), inset 0 0 40px rgba(0,212,255,.03);
    overflow:      hidden;
    position:      relative;
}

/* ─── Cyberpunk Header ─── */
.nf-cp-header {
    background:    linear-gradient(135deg, rgba(0,212,255,.12) 0%, rgba(0,255,136,.06) 50%, rgba(0,212,255,.09) 100%);
    border-bottom: 1px solid rgba(0,212,255,.4);
    padding:       14px 18px 10px;
    position:      relative;
}
.nf-cp-corner {
    position:      absolute;
    width:         14px;
    height:        14px;
    border-color:  var(--accent);
    border-style:  solid;
    z-index:       2;
}
.nf-cp-tl { top:0;    left:0;  border-width: 2px 0 0 2px; }
.nf-cp-tr { top:0;    right:0; border-width: 2px 2px 0 0; }
.nf-cp-bl { bottom:0; left:0;  border-width: 0 0 2px 2px; }
.nf-cp-br { bottom:0; right:0; border-width: 0 2px 2px 0; }

.nf-cp-header-grid {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-start;
    gap:             12px;
    flex-wrap:       wrap;
    margin-bottom:   8px;
}
.nf-cp-brand    { flex: 1; }
.nf-cp-logo     { font-size:22px; color:var(--accent); line-height:1; margin-bottom:3px; text-shadow:0 0 12px var(--accent); }
.nf-cp-company-name {
    font-size:   22px;
    font-weight: 700;
    color:       var(--accent);
    letter-spacing: 4px;
    text-shadow: 0 0 18px rgba(0,212,255,.7);
    margin-bottom: 3px;
}
.nf-cp-tagline  { font-size:9px; color:var(--green); letter-spacing:2px; margin-bottom:3px; }
.nf-cp-cnpj-info{ font-size:8px; color:var(--text3); letter-spacing:.5px; }

.nf-cp-nf-id    { text-align:right; flex-shrink:0; }
.nf-cp-nf-type  { font-size:8px; color:var(--text3); letter-spacing:2px; margin-bottom:4px; }
.nf-cp-nf-num   { font-size:20px; font-weight:700; color:var(--iso-gold); text-shadow:0 0 12px rgba(255,214,0,.5); margin-bottom:2px; }
.nf-cp-nf-serie { font-size:8px; color:var(--text3); letter-spacing:1.5px; }

.nf-cp-scan-line {
    height:     1px;
    background: linear-gradient(90deg, transparent 0%, var(--accent) 20%, var(--green) 50%, var(--accent) 80%, transparent 100%);
    opacity:    .55;
    margin:     6px 0;
}

/* ─── Nota Fiscal Body ─── */
.nf-cp-body { padding: 14px 18px; }

.nf-section { border:1px solid rgba(0,212,255,.2); border-radius:3px; padding:10px 12px; margin-bottom:10px; }
.nf-section-title {
    font-size:9px; color:var(--text3); letter-spacing:1.5px; font-weight:700;
    border-bottom:1px solid rgba(0,212,255,.15); padding-bottom:5px; margin-bottom:8px;
}
.nf-row   { display:flex; gap:10px; margin-bottom:4px; align-items:baseline; }
.nf-lbl   { font-size:9px; color:var(--text3); min-width:130px; flex-shrink:0; }
.nf-val   { font-size:10px; color:var(--text1); word-break:break-all; }
.nf-serv-nome { font-size:13px; font-weight:700; color:var(--text1); margin-bottom:4px; }
.nf-serv-sub  { font-size:10px; color:var(--text2); margin-bottom:4px; }
.nf-serv-cnae { font-size:9px; color:var(--text3); }

.nf-valor-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px dashed rgba(0,212,255,.15); }
.nf-vlbl { font-size:10px; color:var(--text2); }
.nf-vval { font-size:10px; color:var(--text1); font-weight:700; }
.nf-total-row { border-top:1px solid var(--accent); border-bottom:1px solid var(--accent); padding:7px 0; margin-top:2px; }
.nf-total-val { font-size:14px; color:var(--green); }

/* ─── Cyberpunk Footer ─── */
.nf-cp-footer {
    background:    linear-gradient(135deg, rgba(0,255,136,.05) 0%, rgba(0,212,255,.1) 100%);
    border-top:    1px solid rgba(0,212,255,.4);
    padding:       10px 18px 16px;
    position:      relative;
}
.nf-cp-footer-inner {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            5px;
    text-align:     center;
    margin-top:     8px;
}
.nf-cp-auth-block   { display:flex; flex-direction:column; gap:2px; }
.nf-cp-auth-lbl     { font-size:7px; color:var(--text3); letter-spacing:2px; }
.nf-cp-auth-val     { font-size:12px; font-weight:700; color:var(--accent); letter-spacing:1px; text-shadow:0 0 8px rgba(0,212,255,.5); }
.nf-cp-footer-meta  { display:flex; flex-direction:column; gap:2px; font-size:8px; color:var(--text3); }

/* ─── Botões de ação ─── */
.nf-actions  { display:flex; gap:10px; flex-wrap:wrap; }
.nf-download-btn {
    flex:1; font-family:'Share Tech Mono',monospace; font-size:10px; padding:10px;
    background:rgba(255,214,0,.08); color:var(--iso-gold);
    border:1px solid rgba(255,214,0,.3); border-radius:4px; cursor:pointer;
    letter-spacing:.5px; transition:background .2s;
}
.nf-download-btn:hover { background:rgba(255,214,0,.18); }
.nf-close-btn {
    font-family:'Share Tech Mono',monospace; font-size:10px; padding:10px 18px;
    background:rgba(255,43,85,.06); color:var(--red);
    border:1px solid rgba(255,43,85,.25); border-radius:4px; cursor:pointer;
    transition:background .2s;
}
.nf-close-btn:hover { background:rgba(255,43,85,.16); }

/* ─── Seção PIX no formulário de compra ─── */
.nf-pix-section {
    background:    rgba(0,255,136,.04);
    border:        1px solid rgba(0,255,136,.25);
    border-radius: 4px;
    padding:       14px;
    margin-bottom: 16px;
}
.nf-pix-header {
    font-size:     10px;
    font-weight:   700;
    color:         var(--green);
    letter-spacing: 2px;
    border-bottom: 1px solid rgba(0,255,136,.2);
    padding-bottom: 8px;
    margin-bottom: 12px;
}
.nf-pix-body {
    display:     flex;
    gap:         16px;
    align-items: flex-start;
    flex-wrap:   wrap;
}
.nf-pix-info-col { flex:1; min-width:170px; }
.nf-pix-row      { display:flex; flex-direction:column; margin-bottom:9px; }
.nf-pix-lbl      { font-size:8px; color:var(--text3); letter-spacing:1.5px; margin-bottom:2px; }
.nf-pix-val      { font-size:11px; color:var(--text1); }
.nf-pix-valor    { color:var(--green); font-size:16px; font-weight:700; }
.nf-pix-hint {
    font-size:   9px;
    color:       var(--text3);
    line-height: 1.6;
    margin-top:  8px;
    border-top:  1px solid rgba(255,255,255,.06);
    padding-top: 8px;
}

/* responsivo corpo */
@media (max-width: 860px) {
    .corp-docs-grid  { grid-template-columns: 1fr 1fr; }
    .corp-assets     { grid-template-columns: 1fr 1fr; }
    .corp-grid       { grid-template-columns: 1fr 1fr; }
    .corp-compliance { grid-template-columns: 1fr 1fr; }
    .corp-budget     { grid-template-columns: 1fr 1fr; }
    .iso-steps-grid  { grid-template-columns: 1fr; }
    .iso-kpi-row     { grid-template-columns: 1fr 1fr; }
    .annex-grid      { grid-template-columns: 1fr 1fr; }
    .transp-grid     { grid-template-columns: 1fr; }
}
@media (max-width: 580px) {
    .corp-docs-grid  { grid-template-columns: 1fr; }
    .corp-assets     { grid-template-columns: 1fr; }
    .corp-grid       { grid-template-columns: 1fr; }
    .corp-compliance { grid-template-columns: 1fr; }
    .corp-budget     { grid-template-columns: 1fr; }
    .annex-grid      { grid-template-columns: 1fr; }
    .iso-kpi-row     { grid-template-columns: 1fr 1fr; }
    .jstats-row      { grid-template-columns: 1fr 1fr; }
}

/* ══════════════════════════════════════════════
   CERTIFICADO ISO · BOTÃO DE IMPRESSÃO
══════════════════════════════════════════════ */
.cert-print-row {
    margin-top:  16px;
    text-align:  center;
}

.cert-print-btn {
    font-family:     'Share Tech Mono', monospace;
    font-size:       11px;
    letter-spacing:  1px;
    padding:         10px 22px;
    background:      rgba(255,214,0,.07);
    color:           var(--iso-gold);
    border:          1px solid rgba(255,214,0,.35);
    border-radius:   5px;
    cursor:          pointer;
    transition:      background .2s, box-shadow .2s;
}
.cert-print-btn:hover {
    background:  rgba(255,214,0,.16);
    box-shadow:  0 0 12px rgba(255,214,0,.25);
}
.cert-print-btn--inner {
    margin-top: 16px;
}
.cert-actions-row {
    display:         flex;
    gap:             10px;
    flex-wrap:       wrap;
    justify-content: center;
}
.cert-actions-row .cert-print-btn,
.cert-actions-row .cert-sign-btn {
    flex: 1;
}
.cert-sign-btn {
    font-family:    'Share Tech Mono', monospace;
    font-size:      10px;
    padding:        9px 14px;
    background:     rgba(0,255,136,.07);
    color:          var(--green);
    border:         1px solid rgba(0,255,136,.3);
    border-radius:  4px;
    cursor:         pointer;
    letter-spacing: .5px;
    transition:     background .2s;
    flex:           1;
}
.cert-sign-btn:hover {
    background: rgba(0,255,136,.15);
}

/* ══════════════════════════════════════════════
   MODO 3D (relevo/extrusão) · BOTÃO TOGGLE
   Mantém classes .three-d-* por compatibilidade com JS
══════════════════════════════════════════════ */
.three-d-toggle-btn {
    font-family:    'Share Tech Mono', monospace;
    font-size:      9px;
    letter-spacing: 1px;
    padding:        4px 10px;
    background:     rgba(155,89,255,.08);
    color:          var(--purple);
    border:         1px solid rgba(155,89,255,.25);
    border-radius:  3px;
    cursor:         pointer;
    transition:     all .2s;
    white-space:    nowrap;
    display:        flex;
    align-items:    center;
    gap:            5px;
}
.three-d-toggle-btn:hover,
.three-d-toggle-btn.active {
    background: rgba(155,89,255,.22);
    border-color: rgba(155,89,255,.55);
    color: #bf97ff;
}
.three-d-icon { font-size: 13px; }

/* ══════════════════════════════════════════════
   MODO 3D · body.three-d-mode
   Aplica estética de relevo/extrusão (easter egg) ao sistema inteiro
══════════════════════════════════════════════ */
.three-d-mode {
    transform-style: preserve-3d; /* Chrome, Firefox, Safari, Edge */
    perspective: 900px;
}

/* Efeito scanlines (overlay no grid principal) */
.three-d-mode .grid-main::before {
    content:          '';
    position:         fixed;
    inset:            0;
    pointer-events:   none;
    z-index:          9999;
    background:       repeating-linear-gradient(
                          0deg,
                          rgba(0,0,0,.18) 0px,
                          rgba(0,0,0,.18) 1px,
                          transparent 1px,
                          transparent 3px
                      );
}

/* Bordas em relevo 3D nos cards */
.three-d-mode .iso-step,
.three-d-mode .annex-card,
.three-d-mode .corp-card,
.three-d-mode .asset-card,
.three-d-mode .doc-card,
.three-d-mode .fa-inst-card,
.three-d-mode .fa-product-card,
.three-d-mode .budget-card,
.three-d-mode .transp-card {
    border-radius:  0 !important;
    border-width:   2px !important;
    transform-style: preserve-3d;
}

/* Fonte com extrusão 3D nos títulos principais */
.three-d-mode .iso-main-title,
.three-d-mode .corp-name,
.three-d-mode .fa-main-title,
.three-d-mode .section-title,
.three-d-mode .feed-title,
.three-d-mode .cert-title {
    letter-spacing: 3px;
    text-shadow:    2px 2px 0 rgba(0,212,255,.4),
                    4px 4px 0 rgba(0,0,0,.6);
}

/* Glow CRT na topbar */
.three-d-mode .topbar {
    box-shadow: 0 2px 0 rgba(0,212,255,.35),
                0 4px 0 rgba(0,0,0,.8),
                inset 0 -1px 0 rgba(0,212,255,.2);
}

/* Cursor piscante 3D nas métricas */
.three-d-mode .metric-val::after {
    content:    '_';
    animation:  threeDBlink 1s step-end infinite;
    color:      inherit;
    opacity:    .8;
}
@keyframes threeDBlink {
    0%, 100% { opacity: .8; }
    50%       { opacity: 0; }
}

/* Barra de progresso em relevo 3D */
.three-d-mode .bar-fill,
.three-d-mode .iso-step-progress-fill,
.three-d-mode .comp-fill,
.three-d-mode .budget-fill,
.three-d-mode .annex-fill {
    border-radius: 0 !important;
    transform-style: preserve-3d;
}

/* Ring ISO com corte 3D */
.three-d-mode .iso-ring-fill {
    stroke-linecap: square;
}

/* Botões com estilo extrudado 3D */
.three-d-mode .btn,
.three-d-mode .iso-ai-btn,
.three-d-mode .cert-print-btn,
.three-d-mode .corp-report-btn {
    border-radius:  0 !important;
    border-width:   2px !important;
    text-shadow:    1px 1px 0 rgba(0,0,0,.7);
    box-shadow:     3px 3px 0 rgba(0,0,0,.5);
    transition:     none !important;
}
.three-d-mode .btn:hover,
.three-d-mode .iso-ai-btn:hover,
.three-d-mode .cert-print-btn:hover,
.three-d-mode .corp-report-btn:hover {
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 rgba(0,0,0,.5);
}

/* Cor de acento "3D" extra */
.three-d-mode .logo {
    text-shadow: 3px 3px 0 rgba(0,212,255,.5), 6px 6px 0 rgba(0,0,0,.7);
    letter-spacing: 4px;
}

/* ══════════════════════════════════════════════
   CYBERPUNK UNIFIED BUTTON STYLE · v2
   Estética neon/cyber para TODOS os botões:
   glow de borda, scan-line no hover, texto
   luminoso, transição suave com brilho.
══════════════════════════════════════════════ */

/* ── Base universal: 3D FONT + cursor + transição cyber ── */
button {
    font-family:     var(--three-d-font);
    color:           var(--text1);
    cursor:          pointer;
    position:        relative;
    overflow:        hidden;
    transform-style: preserve-3d;
    transition:  color .18s, background .18s, border-color .18s,
                 box-shadow .18s, transform .12s;
}

/* ── Scan-line neon no hover (pseudo-elemento) ── */
button::before {
    content:    '';
    position:   absolute;
    inset:      0;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0,212,255,.06) 50%,
        transparent 100%
    );
    opacity:    0;
    transition: opacity .2s;
    pointer-events: none;
}
button:hover::before { opacity: 1; }

/* ── Classe .btn: BASE DE BOTÃO CONSOLE GALÁCTICO ── */
.btn {
    font-family:     var(--three-d-font);
    font-size:       7px;
    padding:         8px 14px;
    border:          2px solid rgba(0,255,255,.5);
    background:      rgba(0,255,255,.06);
    color:           var(--accent);
    letter-spacing:  .5px;
    cursor:          pointer;
    transition:      all .12s steps(2,end);
    position:        relative;
    overflow:        hidden;
    transform-style: preserve-3d;
    /* Cortes 3D nos cantos via clip-path */
    clip-path:       polygon(4px 0%, 100% 0%, 100% calc(100% - 4px), calc(100% - 4px) 100%, 0% 100%, 0% 4px);
    box-shadow:      0 0 8px rgba(0,255,255,0.2);
}
.btn-danger {
    background: rgba(255,0,60,.1);
    color:      var(--red);
    border-color: rgba(255,0,60,.6);
    box-shadow:   0 0 8px rgba(255,0,60,0.2);
}
.btn-accent {
    background:  rgba(0,255,255,.08);
    color:       var(--accent);
    border-color: rgba(0,255,255,.5);
}
.btn-green  {
    background:  rgba(0,255,65,.08);
    color:       var(--green);
    border-color: rgba(0,255,65,.5);
    box-shadow:   0 0 8px rgba(0,255,65,0.2);
}

.btn:hover {
    transform:   translateY(-2px);
    box-shadow:  var(--glow-cyan);
    text-shadow: var(--glow-cyan);
    border-color: var(--accent);
}
.btn-danger:hover {
    box-shadow:  var(--glow-red);
    text-shadow: var(--glow-red);
    border-color: var(--red);
}
.btn-green:hover  {
    box-shadow:  var(--glow-green);
    text-shadow: var(--glow-green);
    border-color: var(--green);
}

/* ── Cor de texto em todas as classes de botão ── */
.btn,
.btn-danger,
.btn-accent,
.btn-green,
.sev-btn,
.sev-btn.sl,
.sev-btn.sm,
.sev-btn.sh,
.sev-btn.sc,
.tag-btn,
.tag-btn.active,
.send-btn,
.export-btn,
.clr-btn,
.pb-sl-arrow,
.tut-trigger-btn,
.corp-report-btn,
.iso-ai-btn,
.iso-ai-btn-main,
.iso-ai-btn-gold,
.iso-ai-btn-green,
.cert-print-btn,
.cert-sign-btn,
.nf-download-btn,
.nf-close-btn,
.adm-login-btn,
.adm-signout-btn,
.signin-btn,
.signin-btn.active,
.iso-execute-all-btn,
.bk-subtab,
.tr-btn,
.tr-btn-start,
.tr-btn-complete,
.tr-btn-cert,
.ca-submit-btn,
.ca-auth-btn,
.bk-exec-btn,
.bk-rcp-btn,
.risk-impl-btn,
.risk-add-btn,
.nc-close-btn,
.audit-action-btn,
.audit-action-secondary,
.cl-btn,
.cl-btn-sec,
.cookie-btn,
.cookie-btn-accept,
.cookie-btn-select,
.cookie-btn-reject,
.rai-action-btn,
.rai-send-btn,
.rai-clear-btn,
.prod-pix-btn,
.prod-pix-btn-consulta,
.prod-card-btn,
.prod-card-btn-consulta,
.prod-ai-btn,
.confirm-btn,
.pend-resolve-btn,
.tab-pg-btn,
.tab-pg-prev,
.tab-pg-next,
.prod-pg-btn,
.prod-pg-prev,
.prod-pg-next,
.tc-filter-btn,
.adm-minimize-btn,
.tut-btn,
.tut-btn-prev,
.tut-btn-next,
.tut-btn-finish,
.tut-skip-link,
.pix-copy-btn { color: inherit !important; }

/* ── Tab buttons: cor semântica ativa, text1 inativa ── */
.tab-btn     { color: var(--text1); }
.adm-tab-btn { color: var(--text1); }

/* ── LinkedIn Ads tab — cor LinkedIn azul (brand oficial #0a66c2) ── */
.adm-tab-btn-ads         { color: #0a66c2 !important; border-color: rgba(10,102,194,.35) !important; }
.adm-tab-btn-ads:hover   { background: rgba(10,102,194,.12) !important; color: #1a80e2 !important; }
.adm-tab-btn-ads.active  { background: rgba(10,102,194,.18) !important; border-color: rgba(10,102,194,.55) !important; box-shadow: 0 0 12px rgba(10,102,194,.3) !important; }

/* ── Pentest tab — cor vermelha ── */
.adm-tab-btn-pentest         { color: #ef4444 !important; border-color: rgba(239,68,68,.25) !important; }
.adm-tab-btn-pentest:hover   { background: rgba(239,68,68,.1) !important; }
.adm-tab-btn-pentest.active  { background: rgba(239,68,68,.16) !important; border-color: rgba(239,68,68,.5) !important; box-shadow: 0 0 12px rgba(239,68,68,.2) !important; }

/* ── Hover neon — glow ciberpunk unificado ── */
.btn:hover,
.sev-btn:hover,
.tag-btn:hover,
.send-btn:hover:not(:disabled),
.export-btn:hover,
.clr-btn:hover,
.iso-ai-btn:hover,
.cert-print-btn:hover,
.cert-sign-btn:hover,
.nf-download-btn:hover,
.nf-close-btn:hover,
.adm-login-btn:hover,
.adm-signout-btn:hover,
.signin-btn:hover,
.corp-report-btn:hover,
.pb-sl-arrow:hover,
.tut-trigger-btn:hover,
.iso-execute-all-btn:hover,
.bk-subtab:hover,
.tr-btn:hover,
.ca-submit-btn:hover,
.ca-auth-btn:hover,
.bk-exec-btn:hover,
.bk-rcp-btn:hover,
.risk-impl-btn:hover,
.risk-add-btn:hover,
.nc-close-btn:hover,
.audit-action-btn:hover,
.cl-btn:hover,
.prod-pix-btn:hover,
.prod-card-btn:hover,
.prod-ai-btn:hover,
.confirm-btn:hover,
.pend-resolve-btn:hover,
.tab-pg-btn:hover,
.prod-pg-btn:hover,
.tc-filter-btn:hover,
.cookie-btn:hover {
    text-shadow: 0 0 10px currentColor;
    box-shadow:  0 0 12px rgba(0,212,255,.28), inset 0 0 8px rgba(0,212,255,.06);
    transform:   translateY(-1px);
}

/* ── Glitch flash ao clicar ── */
button:active {
    transform:   translateY(0) scale(.97);
    box-shadow:  0 0 6px rgba(0,212,255,.5), inset 0 0 10px rgba(0,212,255,.08);
    transition:  transform .05s, box-shadow .05s;
}