:root{
  --ink:#0B1220;
  --panel:#0F1B2E;
  --line:rgba(255,255,255,0.09);
  --cyan:#5EEAD4;
  --amber:#F5A524;
  --text:#E7EEF6;
  --text-dim:#94A3B8;
  --radius:10px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  background:var(--ink);
  color:var(--text);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  min-height:100vh;
}
h1,h2{font-family:'Space Grotesk',sans-serif; letter-spacing:-0.01em;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:880px; margin:0 auto; padding:0 24px;}

.admin-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 24px; border-bottom:1px solid var(--line);
}
.admin-logo{display:flex; align-items:center; gap:8px; font-weight:700;}
.admin-tag{color:var(--text-dim); font-size:0.8rem;}

.admin-main{padding:64px 24px;}

/* ---- Login ---- */
.login-card{
  max-width:380px; margin:60px auto 0; background:var(--panel);
  border:1px solid var(--line); border-radius:var(--radius); padding:36px;
  text-align:left;
}
.login-card h1{font-size:1.6rem; margin-bottom:10px;}
.login-card p{color:var(--text-dim); font-size:0.92rem; margin-bottom:24px;}
.back-link{display:block; margin-top:18px; color:var(--text-dim); font-size:0.88rem;}
.back-link:hover{color:var(--cyan);}

form label{display:block; font-size:0.82rem; color:var(--text-dim); margin:14px 0 6px;}
form input[type="text"], form input[type="password"], form input[type="file"], form textarea{
  width:100%; background:var(--ink); border:1px solid var(--line); border-radius:var(--radius);
  padding:13px 14px; color:var(--text); font-family:'Inter',sans-serif; font-size:0.95rem;
}
form textarea{resize:vertical; min-height:90px;}
form input:focus, form textarea:focus{outline:2px solid var(--cyan); outline-offset:2px;}

.btn-primary{
  margin-top:22px; background:var(--cyan); color:var(--ink); border:none; padding:13px 26px;
  border-radius:var(--radius); font-weight:600; font-size:0.95rem; cursor:pointer; transition:.2s;
}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 8px 22px rgba(94,234,212,0.25);}
.btn-secondary{
  background:transparent; border:1px solid var(--line); color:var(--text); padding:11px 22px;
  border-radius:var(--radius); font-size:0.9rem; cursor:pointer; transition:.2s;
}
.btn-secondary:hover{border-color:var(--cyan); color:var(--cyan);}

.error-text{color:#F87171; font-size:0.85rem; margin-top:12px; min-height:1em;}

/* ---- Dashboard ---- */
.dash-head{
  display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px;
  margin-bottom:40px;
}
.dash-head h1{font-size:1.9rem; margin-bottom:8px;}
.dash-head p{color:var(--text-dim); font-size:0.92rem;}

.add-form{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px; margin-bottom:48px;
}
.add-form h2{font-size:1.15rem; margin-bottom:4px;}

.dash-list-head{margin-bottom:20px;}
.dash-list-head h2{font-size:1.15rem;}

.admin-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:760px){ .admin-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .admin-grid{grid-template-columns:1fr;} }

.admin-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; position:relative;
}
.admin-card img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block; background:#0b1626;}
.admin-card .ac-body{padding:16px;}
.admin-card h4{font-size:0.98rem; font-weight:600; margin-bottom:6px;}
.admin-card p{color:var(--text-dim); font-size:0.85rem;}
.admin-card .ac-delete{
  position:absolute; top:10px; right:10px; background:rgba(11,18,32,0.85); border:1px solid var(--line);
  color:#F87171; width:30px; height:30px; border-radius:50%; cursor:pointer; font-size:0.95rem;
  display:flex; align-items:center; justify-content:center;
}
