/* ============================================================
   ADMIN PANEL STYLES
   Loaded alongside style.css — reuses the same CSS variables,
   fonts and color tokens for visual consistency with the site.
   ============================================================ */

body.admin-body{
  background:linear-gradient(180deg,#EAF4FF 0%, var(--misty) 40%, #cfe6f7 100%);
  min-height:100vh;
}

/* ---------- LOGIN SCREEN ---------- */
.admin-login-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.admin-login-card{
  width:100%; max-width:400px;
  background:var(--glass); backdrop-filter:blur(20px) saturate(160%);
  border:1px solid var(--glass-brd); border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg); padding:40px 34px;
  text-align:center;
}
.admin-login-card .logo-badge{margin:0 auto 22px; width:fit-content;}
.admin-login-card h1{font-size:1.5rem; font-weight:600; color:var(--navy);}
.admin-login-card p.sub{color:var(--ink-60); font-size:.9rem; margin-top:8px; margin-bottom:26px;}
.admin-login-card .form-group{text-align:left; margin-bottom:16px;}
.admin-login-card .form-group label{
  font-family:'JetBrains Mono', monospace; font-size:.7rem; text-transform:uppercase;
  letter-spacing:.1em; color:var(--ink-60); font-weight:700; display:block; margin-bottom:8px;
}
.admin-login-card input{
  width:100%; border:1.5px solid rgba(15,23,42,.14); background:rgba(255,255,255,.8);
  border-radius:12px; padding:13px 16px; font-family:inherit; font-size:.95rem;
  color:#000; font-weight:700; outline:none; transition:border-color .3s, box-shadow .3s;
}
.admin-login-card input:focus{border-color:var(--green-2); box-shadow:0 0 0 4px rgba(24,181,123,.15);}
.admin-login-card input.invalid{border-color:#E0483F;}
.admin-login-error{
  color:#E0483F; font-size:.82rem; font-weight:700; margin-top:4px; min-height:18px;
}
.admin-login-card .grad-btn{width:100%; justify-content:center; margin-top:8px;}
.admin-login-hint{
  margin-top:22px; font-size:.76rem; color:var(--ink-40);
  background:rgba(255,255,255,.5); border-radius:12px; padding:12px 14px; text-align:left;
}
.admin-login-hint b{color:var(--navy);}

/* ---------- DASHBOARD SHELL ---------- */
.admin-dash{display:none;}
.admin-dash.open{display:block;}
.admin-topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px; position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.7); backdrop-filter:blur(16px);
  box-shadow:0 4px 20px rgba(15,42,70,.06);
}
.admin-topbar-right{display:flex; align-items:center; gap:12px;}
.admin-logout-btn{
  display:flex; align-items:center; gap:8px;
  background:rgba(15,23,42,.06); color:var(--navy);
  padding:10px 18px; border-radius:100px; font-weight:700; font-size:.85rem;
  transition:background .3s;
}
.admin-logout-btn:hover{background:rgba(224,72,63,.12); color:#E0483F;}
.admin-view-site{
  display:flex; align-items:center; gap:8px;
  background:rgba(15,23,42,.06); color:var(--navy);
  padding:10px 18px; border-radius:100px; font-weight:700; font-size:.85rem;
  transition:background .3s;
}
.admin-view-site:hover{background:rgba(24,181,123,.14); color:var(--green-2);}

.admin-wrap{max-width:1100px; margin:0 auto; padding:36px 24px 100px;}
.admin-head{margin-bottom:28px;}
.admin-head h2{font-size:1.7rem; font-weight:600;}
.admin-head p{color:var(--ink-60); margin-top:8px;}

.admin-tabs{display:flex; gap:10px; margin-bottom:26px; flex-wrap:wrap;}
.admin-tab-btn{
  padding:11px 22px; border-radius:100px; font-weight:700; font-size:.88rem;
  background:rgba(255,255,255,.6); color:var(--ink-60); transition:all .3s;
  border:1px solid rgba(255,255,255,.8);
}
.admin-tab-btn.active{
  background:linear-gradient(135deg,var(--green-1),var(--green-2)); color:#fff;
  box-shadow:0 10px 24px -8px rgba(24,181,123,.5); border-color:transparent;
}
.admin-tab-panel{display:none;}
.admin-tab-panel.active{display:block;}

.admin-toolbar{display:flex; justify-content:flex-end; gap:12px; margin-bottom:20px; flex-wrap:wrap;}
.admin-add-btn{
  display:flex; align-items:center; gap:8px;
  background:rgba(15,23,42,.06); color:var(--navy);
  padding:11px 20px; border-radius:100px; font-weight:700; font-size:.85rem;
  transition:background .3s;
}
.admin-add-btn:hover{background:rgba(107,168,214,.18);}

/* ---------- EDIT CARDS (car / package rows) ---------- */
.admin-item{
  background:var(--glass); backdrop-filter:blur(16px) saturate(160%);
  border:1px solid var(--glass-brd); border-radius:20px;
  padding:24px; margin-bottom:18px;
  display:grid; grid-template-columns:140px 1fr; gap:22px;
  box-shadow:var(--shadow-sm);
  position:relative;
}
.admin-item-image{
  width:140px; height:100px; border-radius:14px; overflow:hidden;
  background:linear-gradient(160deg, var(--misty), #c9e4f7);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.admin-item-image img{width:100%; height:100%; object-fit:cover;}
.admin-item-image input[type=file]{
  position:absolute; inset:0; opacity:0; cursor:pointer;
}
.admin-item-image .admin-img-label{
  position:absolute; bottom:0; left:0; right:0;
  background:rgba(15,23,42,.68); color:#fff; font-size:.66rem; font-weight:700;
  text-align:center; padding:5px 0; letter-spacing:.05em; text-transform:uppercase;
}
.admin-item-fields{display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;}
.admin-item-fields .admin-field{display:flex; flex-direction:column; gap:6px;}
.admin-item-fields .admin-field.span-2{grid-column:span 2;}
.admin-item-fields .admin-field.span-4{grid-column:span 4;}
.admin-field label{
  font-family:'JetBrains Mono', monospace; font-size:.64rem; text-transform:uppercase;
  letter-spacing:.08em; color:var(--ink-60); font-weight:700;
}
.admin-field input[type=text], .admin-field input[type=number], .admin-field textarea{
  border:1.5px solid rgba(15,23,42,.14); background:rgba(255,255,255,.8);
  border-radius:10px; padding:10px 12px; font-family:inherit; font-size:.88rem;
  color:#000; font-weight:700; outline:none; transition:border-color .3s;
}
.admin-field input:focus, .admin-field textarea:focus{border-color:var(--green-2);}
.admin-field-checkbox{flex-direction:row; align-items:center; gap:8px !important;}
.admin-field-checkbox input{width:16px; height:16px;}
.admin-item-remove{
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; border-radius:50%;
  background:rgba(224,72,63,.1); color:#E0483F;
  display:flex; align-items:center; justify-content:center;
  transition:background .3s;
}
.admin-item-remove:hover{background:rgba(224,72,63,.2);}
.admin-item-remove svg{width:14px;height:14px;}

.admin-save-bar{
  position:sticky; bottom:0; margin-top:30px;
  background:rgba(255,255,255,.85); backdrop-filter:blur(16px);
  border-radius:20px; padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  box-shadow:0 -10px 30px -10px rgba(15,42,70,.15);
}
.admin-save-msg{font-size:.85rem; font-weight:700; color:var(--green-2); min-height:18px;}
.admin-save-actions{display:flex; gap:12px;}
.admin-reset-btn{
  background:rgba(224,72,63,.08); color:#E0483F;
  padding:13px 22px; border-radius:100px; font-weight:700; font-size:.88rem;
  transition:background .3s;
}
.admin-reset-btn:hover{background:rgba(224,72,63,.16);}

.admin-contact-card{
  background:var(--glass); backdrop-filter:blur(16px); border:1px solid var(--glass-brd);
  border-radius:20px; padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:20px;
  box-shadow:var(--shadow-sm);
}

@media (max-width:720px){
  .admin-item{grid-template-columns:1fr;}
  .admin-item-image{width:100%; height:150px;}
  .admin-item-fields{grid-template-columns:repeat(2,1fr);}
  .admin-item-fields .admin-field.span-2, .admin-item-fields .admin-field.span-4{grid-column:span 2;}
  .admin-contact-card{grid-template-columns:1fr;}
  .admin-topbar{padding:14px 18px;}
  .admin-wrap{padding:26px 16px 90px;}
}
