:root{
  --lapis: #1B3F73;
  --lapis-deep: #12294F;
  --lapis-light: #3566A8;
  --lapis-pale: #EAF0F8;
  --gold: #C7A44A;
  --bg: #F4F6F9;
  --ink: #1E2124;
  --ink-soft: #666B70;
  --rule: #E1E4EA;
  --card: #FFFFFF;
  --danger: #C1443B;
}

*{margin:0; padding:0; box-sizing:border-box;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Vazirmatn', sans-serif;
  line-height:1.8;
}
a{color:inherit; text-decoration:none;}

.admin-wrap{max-width:960px; margin:0 auto; padding:0 24px;}

/* ===== Topbar ===== */
.admin-topbar{
  background:var(--lapis-deep);
  color:#fff;
}
.admin-topbar .row{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0;
}
.admin-brand{
  display:flex; align-items:center; gap:12px;
  font-weight:600; font-size:1rem;
}
.admin-brand img{height:26px; width:auto; background:#fff; border-radius:4px; padding:3px;}
.admin-topbar-actions{display:flex; gap:10px;}

/* ===== Buttons ===== */
.btn-primary{
  background:var(--lapis);
  color:#fff;
  padding:12px 22px;
  border-radius:8px;
  font-weight:600;
  font-size:0.95rem;
  border:none;
  cursor:pointer;
  display:inline-block;
  transition:background .2s ease;
}
.btn-primary:hover{background:var(--lapis-deep);}
.btn-outline{
  border:1px solid rgba(255,255,255,0.35);
  color:#fff;
  padding:9px 16px;
  border-radius:6px;
  font-size:0.88rem;
  transition:background .2s ease;
}
.admin-wrap .btn-outline{
  border-color:var(--rule);
  color:var(--lapis);
}
.admin-wrap .btn-outline:hover{background:var(--lapis-pale);}
.btn-small{
  padding:7px 14px;
  font-size:0.82rem;
  border-radius:6px;
}
.btn-danger{
  background:#FBEAE8;
  color:var(--danger);
  border:1px solid rgba(193,68,59,0.25);
}
.btn-danger:hover{background:#F6D9D6;}

/* ===== Head row ===== */
.admin-head-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:28px; flex-wrap:wrap; gap:14px;
}
.admin-head-row h1{font-size:1.4rem;}

/* ===== Alerts ===== */
.alert-success{
  background:#E8F5EC; color:#1E7A3C;
  border:1px solid rgba(30,122,60,0.25);
  padding:12px 18px; border-radius:8px; margin-bottom:22px; font-size:0.92rem;
}
.alert-error{
  background:#FBEAE8; color:var(--danger);
  border:1px solid rgba(193,68,59,0.25);
  padding:12px 18px; border-radius:8px; margin-bottom:18px; font-size:0.92rem;
}

/* ===== Empty state ===== */
.empty-state{
  background:var(--card); border:1px dashed var(--rule);
  border-radius:10px; padding:50px 20px; text-align:center;
  color:var(--ink-soft);
}

/* ===== Project list ===== */
.admin-project-list{display:flex; flex-direction:column; gap:14px;}
.admin-project-row{
  background:var(--card); border:1px solid var(--rule); border-radius:10px;
  padding:14px 16px;
  display:flex; align-items:center; gap:16px;
  flex-wrap:wrap;
}
.admin-thumb{
  width:70px; height:56px; border-radius:6px; overflow:hidden; flex-shrink:0;
  background:var(--lapis-pale);
}
.admin-thumb img{width:100%; height:100%; object-fit:cover;}
.no-thumb{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size:0.7rem; color:var(--ink-soft); text-align:center;
}
.admin-project-info{flex:1; min-width:150px;}
.admin-project-title{font-weight:600; font-size:0.98rem;}
.admin-project-sub{font-size:0.8rem; color:var(--ink-soft); margin-top:2px;}
.admin-project-actions{display:flex; gap:8px; flex-wrap:wrap;}

/* ===== Form ===== */
.admin-form{
  background:var(--card); border:1px solid var(--rule); border-radius:12px;
  padding:28px 26px; margin-top:20px;
  display:flex; flex-direction:column;
}
.admin-form label{font-size:0.88rem; font-weight:600; margin-bottom:8px; margin-top:18px;}
.admin-form label:first-of-type{margin-top:0;}
.admin-form input[type="text"],
.admin-form textarea{
  border:1px solid var(--rule); border-radius:8px;
  padding:12px 14px; font-family:inherit; font-size:0.95rem;
  background:#FCFCFD; resize:vertical;
}
.admin-form input[type="text"]:focus,
.admin-form textarea:focus{
  outline:none; border-color:var(--lapis);
}
.admin-form input[type="file"]{
  border:1px dashed var(--rule); border-radius:8px; padding:14px;
  background:#FCFCFD; font-size:0.88rem;
}
.hint{font-size:0.8rem; color:var(--ink-soft); margin-top:8px;}
.current-images{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap;}
.current-images img{width:70px; height:56px; object-fit:cover; border-radius:6px; border:1px solid var(--rule);}

/* ===== Login page ===== */
.login-body{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:var(--lapis-deep);
}
.login-box{
  background:#fff; border-radius:14px; padding:44px 36px;
  width:100%; max-width:360px; text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,0.25);
}
.login-logo{width:120px; height:auto; margin-bottom:20px;}
.login-box h1{font-size:1.2rem; margin-bottom:22px;}
.login-box label{display:block; text-align:right; font-size:0.85rem; font-weight:600; margin-bottom:8px;}
.login-box input{
  width:100%; border:1px solid var(--rule); border-radius:8px;
  padding:12px 14px; font-family:inherit; font-size:0.95rem; margin-bottom:18px;
}
.login-box input:focus{outline:none; border-color:var(--lapis);}
.login-box button{
  width:100%; background:var(--lapis); color:#fff; border:none;
  padding:13px; border-radius:8px; font-weight:600; font-size:0.95rem; cursor:pointer;
}
.login-box button:hover{background:var(--lapis-deep);}

@media (max-width:600px){
  .admin-project-row{flex-direction:column; align-items:flex-start;}
  .admin-project-actions{width:100%;}
}
