.admin-body { background: #f6f1ed; }
.admin-side { position: fixed; inset: 0 auto 0 0; width: 245px; background: #273c3f; padding: 22px; color: #fff; }
.admin-side img { width: 150px; background: #fff; border-radius: 8px; padding: 4px; margin-bottom: 24px; }
.admin-side a { display: block; color: #dce9ea; padding: 12px 14px; border-radius: 8px; font-weight: 800; }
.admin-side a.active, .admin-side a:hover { background: #E48583; color: #fff; }
.admin-main { margin-left: 245px; min-height: 100vh; }
.admin-top { background: #fff; border-bottom: 1px solid #efd7cf; padding: 20px 30px; }
.admin-top h1 { font-size: 28px; }
.admin-pad { padding: 30px; }
.admin-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 26px; }
.admin-cards div, .admin-panel { background: #fff; border: 1px solid #efd7cf; border-radius: 8px; box-shadow: 0 12px 30px rgba(39,60,63,.06); }
.admin-cards div { padding: 22px; }
.admin-cards span { display: block; color: #616160; font-weight: 800; text-transform: uppercase; font-size: 12px; }
.admin-cards strong { color: #16A6B2; font-size: 30px; }
.admin-panel { overflow: hidden; }
.admin-panel.narrow { max-width: 850px; }
.panel-head { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #efd7cf; }
.panel-head h2 { font-size: 24px; }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 14px 16px; border-bottom: 1px solid #f1ded8; text-align: left; vertical-align: middle; }
.admin-table th { color: #273c3f; background: #fff8f3; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.admin-thumb { width: 58px; height: 58px; border-radius: 8px; object-fit: cover; }
.actions { display: flex; gap: 8px; align-items: center; }
.mini { border: 0; border-radius: 7px; padding: 8px 11px; background: #F9E1C1; color: #273c3f; font-weight: 800; cursor: pointer; }
.mini.danger { background: #f7d5d5; color: #9b2c2c; }
.admin-form { padding: 24px; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.check { display: flex; gap: 10px; align-items: center; }
.check input { width: auto; }
.form-preview { width: 160px; height: 160px; object-fit: cover; border-radius: 8px; margin-top: 14px; }
.admin-flash { padding: 14px 18px; margin-bottom: 18px; border-radius: 8px; font-weight: 800; background: #e4f7f8; color: #126a72; }
.admin-flash.error { background: #f8dada; color: #912929; }
.login-body { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(135deg, #F9E1C1, #fff8f3); }
.login-card { width: min(420px, calc(100% - 32px)); background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 18px 50px rgba(39,60,63,.16); }
.login-card img { height: 70px; margin: 0 auto 18px; }
.login-card h1 { text-align: center; margin-bottom: 18px; }
.login-card a { display: block; text-align: center; margin-top: 16px; color: #16A6B2; font-weight: 800; }
.login-error { background: #f8dada; color: #912929; padding: 10px 12px; border-radius: 8px; }
@media (max-width: 900px) {
  .admin-side { position: static; width: auto; }
  .admin-main { margin-left: 0; }
  .admin-cards, .two { grid-template-columns: 1fr; }
  .admin-table { min-width: 760px; }
  .admin-panel { overflow-x: auto; }
}
