:root{
  --bg:#FAF3E1; --surface:#FFFBF0; --surface-2:#EAD9AD; --text:#4A2712;
  --text-dim:#7A5233; --accent:#995F2F; --accent-ink:#FAF3E1; --line:rgba(98,43,20,0.16);
  --danger:#B3452F; --radius:6px;
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:"Segoe UI", Arial, sans-serif; background:var(--bg); color:var(--text);
}
.admin-wrap{max-width:980px; margin:0 auto; padding:32px 20px;}
.admin-topbar{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:28px;
  padding-bottom:16px; border-bottom:1px solid var(--line);
}
.admin-topbar h1{font-size:1.25rem; margin:0;}
.admin-topbar a{color:var(--accent); text-decoration:none; font-size:0.9rem; font-weight:600;}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; margin-bottom:20px;}
.btn{
  display:inline-block; padding:10px 18px; border-radius:var(--radius); border:1px solid var(--accent);
  background:var(--accent); color:var(--accent-ink); font-weight:600; text-decoration:none; cursor:pointer; font-size:0.9rem;
}
.btn.secondary{background:transparent; color:var(--accent);}
.btn.danger{background:var(--danger); border-color:var(--danger); color:#fff;}
table{width:100%; border-collapse:collapse; font-size:0.88rem;}
th,td{padding:10px 8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top;}
th{color:var(--text-dim); font-size:0.75rem; text-transform:uppercase; letter-spacing:.04em;}
.actions a{margin-right:10px; font-size:0.85rem;}
form .field{margin-bottom:16px;}
label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px;}
input[type=text], input[type=number], input[type=date], input[type=password], textarea, select, input[type=file]{
  width:100%; padding:9px 11px; border:1px solid var(--line); border-radius:4px; font-size:0.92rem;
  background:#fff; color:var(--text); font-family:inherit;
}
textarea{min-height:100px; resize:vertical;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:640px){.grid-2{grid-template-columns:1fr;}}
.alert{padding:12px 16px; border-radius:var(--radius); margin-bottom:18px; font-size:0.88rem;}
.alert.success{background:#e4f0e0; color:#355c2a; border:1px solid #bcd9b2;}
.alert.error{background:#f6e2dd; color:var(--danger); border:1px solid #e3b7ab;}
.login-box{max-width:360px; margin:10vh auto; }
.foto-preview{max-width:120px; border-radius:4px; margin-top:8px; display:block;}
.helptext{font-size:0.78rem; color:var(--text-dim); margin-top:4px;}
