/* Admin panel uses the same tokens as style.css, loaded alongside it. */

body.admin-body{background:var(--paper);min-height:100vh;}

.admin-wrap{display:flex;min-height:100vh;}

/* ---------- Sidebar ---------- */
.admin-sidebar{
  width:250px;flex:none;background:var(--ink);color:#EDEBE3;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
}
.admin-sidebar .sidebar-brand{
  display:flex;align-items:center;gap:.6rem;padding:1.3rem 1.2rem;
  border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-weight:600;
}
.admin-sidebar nav{flex:1;padding:1rem .7rem;}
.sidebar-link{
  display:flex;align-items:center;gap:.7rem;padding:.65rem .9rem;border-radius:9px;
  color:#C9D2CE;font-size:.92rem;font-weight:500;margin-bottom:.2rem;
}
.sidebar-link i{font-size:1.05rem;width:20px;text-align:center;}
.sidebar-link:hover{background:rgba(255,255,255,.06);color:#fff;}
.sidebar-link.active{background:var(--teal);color:#fff;}
.admin-sidebar .sidebar-foot{padding:1rem 1.2rem;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#8AA09A;}

/* ---------- Main column ---------- */
.admin-main{flex:1;min-width:0;}
.admin-topbar{
  background:var(--paper-2);border-bottom:1px solid rgba(20,107,98,.12);
  padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:5;
}
.admin-topbar .page-title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin:0;}
.sidebar-toggle{display:none;}
.admin-content{padding:1.5rem;max-width:1200px;}

/* ---------- Cards / tiles ---------- */
.admin-card{background:var(--paper-2);border-radius:14px;padding:1.8rem;border:1px solid rgba(20,107,98,.12);}
.stat-tile{background:var(--paper-2);border-radius:12px;padding:1.4rem;border:1px solid rgba(20,107,98,.12);display:flex;align-items:center;gap:1rem;}
.stat-tile .stat-icon{
  width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:rgba(31,163,148,.14);color:var(--teal);font-size:1.3rem;flex:none;
}
.stat-tile .stat-num{font-family:var(--font-display);font-size:1.55rem;font-weight:700;color:var(--ink);line-height:1.1;}
.stat-tile .stat-label{font-size:.78rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;}

/* ---------- Login ---------- */
.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ink),var(--teal));}
.admin-login-card{background:var(--paper-2);border-radius:16px;padding:2.5rem;max-width:400px;width:100%;}

/* ---------- Tables ---------- */
.admin-card .table{font-size:.9rem;}
.status-badge{font-size:.72rem;font-weight:600;padding:.3rem .6rem;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;}
.status-badge.published,.status-badge.read{background:rgba(31,163,148,.15);color:var(--teal);}
.status-badge.unpublished,.status-badge.unread{background:rgba(232,163,61,.18);color:var(--amber-dark);}

/* ---------- Upload / media tiles ---------- */
.media-tile{background:var(--paper);border-radius:10px;padding:.6rem;border:1px solid rgba(20,107,98,.1);height:100%;}
.media-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;display:block;}
.media-tile .media-title{font-size:.85rem;font-weight:600;margin:.5rem 0 0;}
.media-tile .media-desc{font-size:.78rem;color:var(--text-soft);margin:.2rem 0 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

.avatar-preview{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--paper);border:1px solid rgba(20,107,98,.15);}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .admin-sidebar{
    position:fixed;left:0;top:0;bottom:0;z-index:1050;
    transform:translateX(-100%);transition:transform .2s ease;
  }
  .admin-sidebar.open{transform:translateX(0);}
  .sidebar-toggle{display:inline-flex;}
  .admin-content{padding:1.1rem;}
}
