/* 公开门户 · 浅色专业主题（独立于深色管理后台） */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { margin: 0; font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  background: #f4f6f8; color: #1f2a44; line-height: 1.6; }

/* 顶部导航 */
.pnav { background: #fff; border-bottom: 1px solid #e6eaf0; position: sticky; top: 0; z-index: 50; }
.pnav-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 18px;
  padding: 0 16px; height: 60px; }
.pbrand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #1f2a44; font-weight: 700; font-size: 17px; }
.nav-logo { width: 34px; height: 34px; border-radius: 9px; object-fit: cover; background: #0F6E56; }
.nav-logo-text { width: 34px; height: 34px; border-radius: 9px; background: #0F6E56; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.pmenu { display: flex; gap: 4px; margin-left: 12px; flex: 1; }
.pmenu a { text-decoration: none; color: #5b6b85; padding: 8px 12px; border-radius: 8px; font-size: 14px; }
.pmenu a:hover { background: #f0f3f7; color: #1f2a44; }
.pmenu a.active { color: #0F6E56; background: #e1f5ee; font-weight: 600; }
.pnav-right .pbtn-login { text-decoration: none; background: #0F6E56; color: #fff; padding: 8px 18px;
  border-radius: 9px; font-size: 14px; font-weight: 600; }
.pnav-right .pbtn-login:active { opacity: .85; }
.pmenu-toggle { display: none; background: none; border: none; font-size: 22px; color: #1f2a44; cursor: pointer; }
.pmenu-mobile { display: none; background: #fff; border-bottom: 1px solid #e6eaf0; flex-direction: column; }
.pmenu-mobile a { padding: 12px 16px; text-decoration: none; color: #1f2a44; border-top: 1px solid #f0f3f7; font-size: 15px; }

.pcontainer { max-width: 1100px; margin: 0 auto; padding: 24px 16px 40px; }
.pfooter { background: #0f1b2d; color: #aebfd6; margin-top: 40px; }
.pfooter-inner { max-width: 1100px; margin: 0 auto; padding: 26px 16px; font-size: 13px; }
.pfooter-copy { color: #6c7f9c; margin-top: 8px; }

/* 通用按钮 / 卡片 */
.pbtn { display: inline-block; text-decoration: none; background: #0F6E56; color: #fff; padding: 11px 22px;
  border-radius: 10px; font-size: 15px; font-weight: 600; border: none; cursor: pointer; }
.pbtn:hover { background: #0c5d48; }
.pbtn-ghost { background: #fff; color: #0F6E56; border: 1px solid #0F6E56; }
.pcard { background: #fff; border-radius: 14px; padding: 18px; box-shadow: 0 2px 10px rgba(20,40,80,.06); }
.section { margin-top: 34px; }
.section-title { font-size: 20px; font-weight: 700; margin: 0 0 4px; }
.section-sub { color: #5b6b85; font-size: 13px; margin: 0 0 16px; }

/* Hero */
.phero { background: linear-gradient(135deg, #0F6E56, #0c8a6b); color: #fff; border-radius: 18px;
  padding: 42px 28px; }
.phero h1 { font-size: 26px; margin: 0 0 10px; }
.phero p { font-size: 15px; opacity: .92; margin: 0 0 22px; max-width: 620px; }
.phero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.phero .pbtn { background: #fff; color: #0F6E56; }
.phero .pbtn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.6); }

/* 类目 + 科目网格 */
.cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cat-card { background: #fff; border-radius: 14px; padding: 18px; box-shadow: 0 2px 10px rgba(20,40,80,.06);
  text-decoration: none; color: #1f2a44; transition: transform .15s; }
.cat-card:hover { transform: translateY(-3px); }
.cat-icon { font-size: 26px; }
.cat-card h3 { margin: 10px 0 4px; font-size: 16px; }
.cat-card .cat-count { color: #5b6b85; font-size: 12px; }

.course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.course-card { background: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 2px 10px rgba(20,40,80,.06);
  border: 1px solid #eef1f5; }
.course-card h4 { margin: 0 0 6px; font-size: 15px; }
.course-card .course-meta { color: #5b6b85; font-size: 12px; }
.course-card .course-tag { display: inline-block; background: #e1f5ee; color: #0F6E56; font-size: 11px;
  padding: 2px 8px; border-radius: 6px; margin-top: 8px; }
.course-card .course-hot { background: #fde8e8; color: #c0392b; }

/* 公告列表 */
.news-list { display: flex; flex-direction: column; gap: 12px; }
.news-item { display: flex; gap: 14px; background: #fff; border-radius: 12px; padding: 16px;
  box-shadow: 0 2px 10px rgba(20,40,80,.06); text-decoration: none; color: #1f2a44; }
.news-item:hover { background: #fafbfc; }
.news-date { flex: 0 0 56px; text-align: center; color: #0F6E56; font-weight: 700; }
.news-date small { display: block; color: #5b6b85; font-weight: 400; font-size: 11px; }
.news-item h4 { margin: 0 0 4px; font-size: 15px; }
.news-item p { margin: 0; color: #5b6b85; font-size: 13px; }
.news-top { background: #0F6E56; color: #fff; font-size: 11px; padding: 1px 7px; border-radius: 5px; margin-left: 6px; }
.news-type { background: #eaf4f1; color: #0F6E56; font-size: 11px; padding: 1px 8px; border-radius: 10px; margin-left: 6px; font-weight: 600; vertical-align: 1px; }

/* 详情 */
.article { background: #fff; border-radius: 14px; padding: 26px; box-shadow: 0 2px 10px rgba(20,40,80,.06); }
.article h1 { font-size: 22px; margin: 0 0 8px; }
.article-meta { color: #5b6b85; font-size: 12px; margin-bottom: 18px; }
.article-body { font-size: 15px; line-height: 1.9; color: #2c3550; }

/* 表单 */
.pform { background: #fff; border-radius: 14px; padding: 22px; box-shadow: 0 2px 10px rgba(20,40,80,.06); max-width: 560px; }
.pfield { margin-bottom: 14px; }
.pfield label { display: block; font-size: 13px; color: #5b6b85; margin-bottom: 5px; }
.pfield input, .pfield select, .pfield textarea { width: 100%; height: 44px; border: 1px solid #d8dee8;
  border-radius: 10px; padding: 0 12px; font-size: 14px; outline: none; background: #fff; color: #1f2a44; }
.pfield textarea { height: 90px; padding: 10px 12px; resize: vertical; }
.pfield input:focus, .pfield select:focus, .pfield textarea:focus { border-color: #0F6E56; }
.pnote { background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; border-radius: 10px; padding: 10px 14px; font-size: 13px; margin-bottom: 14px; }
.psuccess { background: #ecfdf3; border: 1px solid #a7f3d0; color: #065f46; border-radius: 10px; padding: 10px 14px; font-size: 13px; margin-bottom: 14px; }

/* 证书查询结果 */
.cert-result { background: #fff; border-radius: 14px; padding: 20px; box-shadow: 0 2px 10px rgba(20,40,80,.06); margin-top: 18px; }
.cert-row { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px dashed #eef1f5; font-size: 14px; }
.cert-row:last-child { border-bottom: none; }
.cert-row .k { color: #5b6b85; }
.cert-empty { text-align: center; color: #5b6b85; padding: 30px 0; }
.status-ok { color: #0F6E56; font-weight: 600; }
.status-warn { color: #b45309; font-weight: 600; }
.status-bad { color: #c0392b; font-weight: 600; }

/* 响应式 */
@media (max-width: 860px) {
  .pmenu, .pnav-right { display: none; }
  .pmenu-toggle { display: block; margin-left: auto; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .course-grid { grid-template-columns: 1fr; }
  .phero { padding: 30px 20px; }
  .phero h1 { font-size: 22px; }
}
