:root{
  --bg:#FFF8F2;
  --surface:#FFFFFF;
  --ink:#FF7A1A;
  --ink-soft:#A8735A;
  --line: rgba(122,46,10,0.14);
  --radius:20px;
  --green:#1E9E5A;
  --red:#D6382B;
  --gray:#8A8A8A;
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--bg); color:#000;
  font-family:'Poppins', sans-serif; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ font-family:'Fredoka', sans-serif; }
a{ color:inherit; }
button{ font-family:inherit; cursor:pointer; }
input, select{ font-family:inherit; }

.admin-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px; background:#FF7A1A; border-bottom:2px solid rgba(122,46,10,.2);
}
.admin-header .logo{ display:flex; align-items:center; gap:10px; font-size:20px; font-weight:600; color:#000; }
.admin-header .logo .mark{
  width:30px; height:30px; border-radius:50%; background:var(--ink);
  border:2px solid #fff; display:flex; align-items:center; justify-content:center;
  font-family:'Fredoka', sans-serif; font-weight:600; color:#fff; font-size:13px;
}
.admin-header button{
  border:2px solid var(--ink); background:#fff; padding:8px 18px; border-radius:999px;
  font-size:13px; font-weight:700;
}

.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.login-card{
  background:var(--surface); border:2.5px solid var(--ink); border-radius:var(--radius);
  padding:36px 32px; width:100%; max-width:380px; box-shadow:10px 10px 0 0 var(--ink);
}
.login-card h1{ font-size:22px; margin:0 0 6px; }
.login-card p.hint{ font-size:13px; color:#333; margin:0 0 24px; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#333; margin-bottom:6px; }
.field .box{ border:2px solid var(--line); border-radius:12px; padding:11px 14px; background:#fff; }
.field .box:focus-within{ border-color:var(--ink); }
.field input{ width:100%; border:none; outline:none; background:transparent; font-size:14.5px; font-weight:600; font-family:'Fredoka', sans-serif; }
.login-btn{
  width:100%; background:var(--ink); color:#fff; font-weight:700; font-size:14.5px;
  padding:14px; border:2px solid var(--ink); border-radius:999px; margin-top:6px;
}
.login-error{ color:var(--red); font-size:12.5px; font-weight:700; margin:10px 0 0; min-height:14px; }

.wrap{ max-width:1200px; margin:0 auto; padding:28px; }
.panel-title{ font-size:24px; margin:0 0 4px; }
.panel-sub{ font-size:13.5px; color:#333; margin:0 0 24px; }

.filters{
  display:flex; gap:14px; flex-wrap:wrap; align-items:end;
  background:var(--surface); border:2px solid var(--line); border-radius:16px; padding:18px; margin-bottom:22px;
}
.filters .field{ margin-bottom:0; min-width:150px; }
.filters .field .box{ padding:9px 12px; }
.filters .field input, .filters .field select{ font-size:13.5px; border:none; outline:none; background:transparent; width:100%; }
.filters button{
  border:2px solid var(--ink); background:var(--ink); color:#fff; padding:10px 20px;
  border-radius:999px; font-size:13px; font-weight:700; height:41px;
}
.filters a.export-btn{
  border:2px solid var(--ink); background:#fff; color:#000; padding:10px 20px;
  border-radius:999px; font-size:13px; font-weight:700; height:41px;
  display:inline-flex; align-items:center; text-decoration:none;
}

.table-wrap{ background:var(--surface); border:2px solid var(--line); border-radius:16px; overflow:auto; }
table{ width:100%; border-collapse:collapse; font-size:13.5px; }
thead th{
  text-align:left; padding:14px 16px; font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  color:#333; border-bottom:2px solid var(--line); white-space:nowrap;
}
tbody td{ padding:13px 16px; border-bottom:1px solid var(--line); white-space:nowrap; }
tbody tr:last-child td{ border-bottom:none; }
.badge{ display:inline-block; padding:4px 12px; border-radius:999px; font-size:11.5px; font-weight:700; }
.badge.aprovado{ background:rgba(30,158,90,.12); color:var(--green); }
.badge.negado{ background:rgba(214,56,43,.12); color:var(--red); }
.badge.erro{ background:rgba(138,138,138,.15); color:var(--gray); }
.empty-state{ padding:40px; text-align:center; color:#666; font-size:14px; }
