:root{
  --green:#245c3b;
  --green2:#2f6b45;
  --bg:#f3f6f8;
  --line:#e6eaee;
  --text:#1f2937;
  --muted:#6b7280;
  --card:#ffffff;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}

.page{ padding:28px; }

.card{
  max-width: 1320px;
  margin: 0 auto;
  background:var(--card);
  border-radius:12px;
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  border:1px solid #e8ecef;
}

/* HEADER */
.header{
  background:var(--green);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 22px;
  gap:18px;
}

.header-left{
  display:flex;
  align-items:center;
  gap:14px;
  min-width: 420px;
}

.doc-icon{
  width:48px;
  height:48px;
  border-radius:10px;
  background:rgba(255,255,255,.14);
  display:grid;
  place-items:center;
  color:#fff;
  flex: 0 0 auto;
}
.doc-icon svg{width:26px;height:26px}

.title{
  font-size:22px;
  font-weight:800;
  line-height:1.1;
}
.subtitle{
  font-size:13px;
  opacity:.92;
  margin-top:2px;
}

.header-right{
  display:flex;
  align-items:center;
  gap:14px;
}
.generated{ text-align:right; }

.small{ font-size:12px; opacity:.9; }
.datetime{ font-weight:800; margin-top:2px; }

.btn{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:10px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.25);
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  white-space:nowrap;
}
.btn:hover{ background: rgba(255,255,255,.22); }

/* TABLE */
.table-wrap{
  overflow:auto;
  border-top: 8px solid var(--green2);
}

table{
  border-collapse:collapse;
  width:100%;
  min-width: 1500px;
}

thead th{
  background:var(--green2);
  color:#fff;
  text-align:left;
  padding:12px 10px;
  font-size:12px;
  letter-spacing:.02em;
  white-space:nowrap;
  position: sticky;
  top:0;
  z-index:2;
}

tbody td{
  padding:18px 10px;
  border-bottom:1px solid var(--line);
  font-size:13px;
  vertical-align:middle;
  white-space:nowrap;
  font-weight:400;
}

tbody tr:nth-child(2n){ background:#f8fbf9 }
tbody tr:hover{ background:#f2f7f4 }

.center{ text-align:center; }

.name{ font-weight:400; }
.event{ font-weight:400; color:#16a34a; }
.company{ color:#4b5563; }

/* pills */
.pill{
  display:inline-flex;
  align-items:center;
  padding:5px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  border:1px solid transparent;
}

.pill-interna{
  background:#e7f7ee;
  color:#1d6f43;
  border-color:#bfe8d1;
}

.pill-externa{
  background:#e8f1ff;
  color:#245aa6;
  border-color:#c8ddff;
}

/* FOOTER */
.footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 16px;
  color:var(--muted);
  font-size:13px;
}
