/* ============================================================
   种界农田数字化管理平台 · 管理后台样式
   ============================================================ */
:root{
  --ad-bg:#f4f7f4;
  --ad-side-bg:linear-gradient(180deg,#123c22 0%,#14532d 55%,#166534 100%);
  --ad-green:#16a34a;
  --ad-green-2:#22c55e;
  --ad-ink:#1f2937;
  --ad-muted:#6b7280;
  --ad-border:#e9efe9;
  --ad-shadow:0 6px 22px rgba(17,24,39,.06);
}

body{ background:var(--ad-bg); color:var(--ad-ink); font-size:14px; }

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

/* 侧边栏 */
.admin-side{
  width:236px;background:var(--ad-side-bg);color:#c9e8d3;flex-shrink:0;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
}
.admin-side .brand{
  padding:22px 22px 20px;color:#fff;font-weight:800;font-size:1.05rem;
  display:flex;align-items:center;gap:.6rem;
}
.admin-side .brand .logo-mark{
  width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#22c55e,#4ade80);
  display:inline-flex;align-items:center;justify-content:center;font-size:19px;
  box-shadow:0 8px 18px rgba(34,197,94,.35);
}
.admin-nav{ padding:.6rem .9rem;flex:1; }
.admin-nav .nav-item{
  display:flex;align-items:center;gap:.7rem;padding:.68rem .95rem;margin-bottom:.25rem;
  color:#bfe4cb;border-radius:12px;font-size:.9rem;font-weight:500;
  transition:all .18s ease;position:relative;
}
.admin-nav .nav-item i{ font-size:1.05rem;opacity:.9; }
.admin-nav .nav-item:hover{ background:rgba(255,255,255,.08);color:#fff; }
.admin-nav .nav-item.active{
  background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;
  box-shadow:0 8px 20px rgba(22,163,74,.4);
}
.admin-side .side-foot{ padding:1rem 1.4rem;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem; }

/* 主区 */
.admin-main{ flex:1;padding:24px 28px;min-width:0; }
.admin-topbar{
  background:#fff;border-radius:16px;padding:16px 22px;margin-bottom:22px;
  display:flex;justify-content:space-between;align-items:center;box-shadow:var(--ad-shadow);
}
.admin-topbar .title{ font-weight:800;font-size:1.15rem;color:var(--ad-ink); }
.admin-topbar .crumb{ color:var(--ad-muted);font-size:.82rem; }

/* 卡片 & 统计 */
.admin-card{
  background:#fff;border:1px solid var(--ad-border);border-radius:16px;
  box-shadow:var(--ad-shadow);padding:20px 22px;
}
.ad-stat{
  background:#fff;border:1px solid var(--ad-border);border-radius:16px;padding:20px;
  box-shadow:var(--ad-shadow);display:flex;align-items:center;gap:16px;height:100%;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ad-stat:hover{ transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,24,39,.1); }
.ad-stat .ico{ width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0; }
.ad-stat .num{ font-size:1.9rem;font-weight:800;line-height:1; }
.ad-stat .lbl{ color:var(--ad-muted);font-size:.82rem;margin-top:.25rem; }
.ico-green{ background:#dcfce7;color:#16a34a; }
.ico-amber{ background:#fef3c7;color:#d97706; }
.ico-sky{ background:#e0f2fe;color:#0284c7; }
.ico-rose{ background:#ffe4e6;color:#e11d48; }

/* 表格 */
.ad-table thead th{
  background:#f1f5f1;color:#475569;font-weight:600;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.04em;border-bottom:none;padding:.8rem .9rem;white-space:nowrap;
}
.ad-table thead th:first-child{ border-top-left-radius:12px;border-bottom-left-radius:12px; }
.ad-table thead th:last-child{ border-top-right-radius:12px;border-bottom-right-radius:12px; }
.ad-table tbody td{ padding:.8rem .9rem;vertical-align:middle;border-color:var(--ad-border);font-size:.88rem; }
.ad-table tbody tr{ transition:background .15s; }
.ad-table tbody tr:hover{ background:#fafcfa; }

/* 按钮 */
.btn-ad{
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:none;
  border-radius:10px;padding:.42rem 1rem;font-weight:600;font-size:.84rem;
  box-shadow:0 3px 8px rgba(22,163,74,.22);transition:all .18s;
}
.btn-ad:hover{ color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px rgba(22,163,74,.3); }
.btn-ad-ghost{ display:inline-flex;align-items:center;justify-content:center; background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:10px;padding:.42rem 1rem;font-weight:500;font-size:.84rem;transition:all .18s; }
.btn-ad-ghost:hover{ border-color:#16a34a;color:#16a34a; }
.btn-ad-danger{ display:inline-flex;align-items:center;justify-content:center; background:#fff;color:#dc2626;border:1px solid #fecaca;border-radius:10px;padding:.42rem 1rem;font-weight:500;font-size:.84rem;transition:all .18s; }
.btn-ad-danger:hover{ background:#fef2f2;border-color:#ef4444;color:#dc2626; }

/* 分页 */
.ad-pager{ display:flex;gap:6px;flex-wrap:wrap; }
.ad-pager button{ width:34px;height:34px;border-radius:9px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:.84rem;transition:all .15s; }
.ad-pager button.on{ background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border-color:transparent;box-shadow:0 4px 10px rgba(22,163,74,.3); }
.ad-pager button:hover:not(.on){ border-color:#16a34a;color:#16a34a; }

/* 表单 */
.ad-form .form-control,.ad-form .form-select{ border-radius:10px;border-color:#e2e8f0;padding:.5rem .8rem;font-size:.86rem; }
.ad-form .form-control:focus,.ad-form .form-select:focus{ border-color:#16a34a;box-shadow:0 0 0 .18rem rgba(22,163,74,.12); }
.ad-form .form-label{ font-size:.8rem;color:#475569;font-weight:500; }

/* 登录页 */
.ad-login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(22,163,74,.16), transparent 42%),
    radial-gradient(circle at 88% 12%, rgba(251,191,36,.18), transparent 42%),
    radial-gradient(circle at 78% 90%, rgba(22,163,74,.14), transparent 46%),
    linear-gradient(150deg,#f2f8f2,#f6faf5 60%,#eef5ee);
}
.ad-login-card{
  width:420px;max-width:100%;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.7);border-radius:24px;box-shadow:0 24px 60px rgba(20,83,45,.18);
  padding:2.5rem 2.2rem;position:relative;z-index:2;
}
