/* ==========================================================================
   ATLAS GUARDIÃO — Design System
   Atlas Tecnologias · lime #C8F135 · preto #111111 · Syne
   ========================================================================== */

@font-face{
  font-family:'Syne';
  src:url('Syne-VF.ttf') format('truetype-variations');
  font-weight:400 800;
  font-display:swap;
}

:root{
  /* marca */
  --lime:#C8F135;
  --preto:#111111;
  --branco:#FFFFFF;

  /* superfícies */
  --s0:#0A0B08;
  --s1:#111311;
  --s2:#191C17;
  --s3:#23271F;
  --border:#2E3329;

  /* texto */
  --t-hi:#F2F5EC;
  --t-mid:#A8B09C;
  --t-low:#6B7362;

  /* semânticos */
  --ok:#C8F135;
  --warn:#FFB020;
  --danger:#FF4D4D;
  --info:#5AC8FA;
  --lime-dim:#9FC22A;
  --glow:rgba(200,241,53,.22);

  --r:12px; --r-lg:20px; --r-xl:28px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ff-display:'Syne',system-ui,sans-serif;
  --ff-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--s0);
  color:var(--t-hi);
  font-family:var(--ff-body);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}

/* ---------- tipografia ---------- */
.display{font-family:var(--ff-display);font-weight:800;letter-spacing:-.025em;line-height:1.02}
.h1{font-family:var(--ff-display);font-weight:800;font-size:clamp(28px,4vw,44px);letter-spacing:-.02em;margin:0}
.h2{font-family:var(--ff-display);font-weight:600;font-size:22px;letter-spacing:-.01em;margin:0}
.h3{font-family:var(--ff-display);font-weight:600;font-size:17px;margin:0}
.micro{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--t-low)}
.mono{font-family:ui-monospace,'SF Mono','JetBrains Mono',monospace;font-size:12px}
.mid{color:var(--t-mid)}
.lime{color:var(--lime)}

/* ---------- superfícies ---------- */
.card{
  background:var(--s1);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:20px;
}
.card.flush{padding:0;overflow:hidden}

/* ---------- pills / selos ---------- */
.pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:999px;
  font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  border:1px solid transparent;white-space:nowrap;
}
.pill-ok{background:var(--lime);color:var(--preto)}
.pill-ghost{background:transparent;border-color:var(--border);color:var(--t-mid)}
.pill-warn{background:var(--warn);color:var(--preto)}
.pill-danger{background:rgba(255,77,77,.14);border-color:rgba(255,77,77,.45);color:var(--danger)}
.pill-info{background:rgba(90,200,250,.12);border-color:rgba(90,200,250,.4);color:var(--info)}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border-radius:var(--r);
  font-family:var(--ff-body);font-size:14px;font-weight:600;
  border:1px solid transparent;cursor:pointer;
  transition:transform .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease);
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--lime);color:var(--preto)}
.btn-primary:hover{background:#d5f95a}
.btn-ghost{background:transparent;border-color:var(--border);color:var(--t-hi)}
.btn-ghost:hover{border-color:var(--lime-dim);color:var(--lime)}
.btn-danger{background:transparent;border-color:rgba(255,77,77,.5);color:var(--danger)}
.btn-danger:hover{background:rgba(255,77,77,.1)}

/* ---------- avatar (iniciais — mockup sem foto real) ---------- */
.av{
  display:grid;place-items:center;border-radius:50%;
  font-family:var(--ff-display);font-weight:800;color:var(--preto);
  background:linear-gradient(145deg,#C8F135,#7FA82A);
  flex:none;letter-spacing:-.02em;
}
.av.alt{background:linear-gradient(145deg,#8FD3F4,#4A90A4)}
.av.alt2{background:linear-gradient(145deg,#FFD07B,#C98A2E)}
.av.alt3{background:linear-gradient(145deg,#D7A8F4,#7A4FA0)}
.av.alt4{background:linear-gradient(145deg,#F49BA8,#A8455A)}
.av.ring{box-shadow:0 0 0 3px var(--s1),0 0 0 6px var(--lime)}

/* ---------- chevron Atlas ---------- */
.chev{display:block}
.chev path{fill:currentColor}

/* ---------- utilidades ---------- */
.row{display:flex;align-items:center;gap:12px}
.col{display:flex;flex-direction:column}
.between{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wrap{flex-wrap:wrap}
.grow{flex:1;min-width:0}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr{height:1px;background:var(--border);border:0;margin:16px 0}
.dot{width:7px;height:7px;border-radius:50%;background:var(--lime);flex:none}
.dot.live{animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 var(--glow)}50%{opacity:.6;box-shadow:0 0 0 7px transparent}}

/* fundo com textura de chevrons */
.bg-chev{position:relative;overflow:hidden}
.bg-chev::before{
  content:'';position:absolute;inset:-20%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M20 70 L60 30 L100 70' stroke='%23C8F135' stroke-width='9' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M20 100 L60 60 L100 100' stroke='%23C8F135' stroke-width='9' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:120px 120px;
  opacity:.022;pointer-events:none;
}

::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--s3);border-radius:9px}
::-webkit-scrollbar-thumb:hover{background:var(--border)}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
