/* ============================================================
   蔚蓝财税 · 统一样式表（合并静态站 + PHP 站两套 CSS）
   ------------------------------------------------------------
   历史：原项目存在两套平行样式
     · 静态站  taoding-site/demo-style.css  （落地页 .svc-* / .pagehero / .compare ...）
     · PHP 站   taoding-site/assets/css/style.css（.card / .hero / .page-hero / .detail ...）
   现合并为单一数据源，消除重复与「两套视觉语言不统一」问题（见架构评审报告 P0/P1）。
   共享基础类（.btn/.section/.nav/.topbar/.stats/.footer/.back-top）统一为一套设计语言；
   两套组件类（命名不同）共存，互不影响。
   ============================================================ */

:root{
  --primary:#1e6fff;--primary-dark:#0a3fb8;--primary-light:#eaf2ff;
  --accent:#0bb8a6;--accent-dark:#099b8c;
  --text:#1f2733;--text-muted:#6b7480;
  --bg:#fff;--bg-alt:#f5f8ff;--border:#e6ebf2;
  --shadow:0 10px 30px rgba(20,60,160,.08);--shadow-hover:0 18px 40px rgba(20,60,160,.16);
  --radius:14px;--radius-sm:10px;--maxw:1200px;--header-h:70px;--topbar-h:40px
}

/* ---------- 基础重置 ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---------- 按钮（统一设计语言） ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 26px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .25s;white-space:nowrap}
.btn--primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(30,111,255,.28)}
.btn--primary:hover{background:var(--primary-dark);transform:translateY(-2px)}
.btn--accent{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(11,184,166,.3)}
.btn--accent:hover{background:var(--accent-dark);transform:translateY(-2px)}
.btn--light{background:#fff;color:var(--primary)}
.btn--light:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.btn--ghost{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn--ghost:hover{background:var(--primary);color:#fff}
.btn--lg{padding:14px 38px;font-size:16px}
.btn--block{width:100%}

/* ---------- 演示提示条（静态站） ---------- */
.demo-banner{background:linear-gradient(90deg,#fff7e6,#fffbe9);color:#9a6400;border-bottom:1px solid #f3e2b6;font-size:13px;text-align:center;padding:7px 14px}
.demo-banner b{color:#c05500}

/* ---------- 顶部信息条（统一） ---------- */
.topbar{background:var(--primary-dark);color:#cfe0ff;font-size:13px;height:var(--topbar-h);display:flex;align-items:center}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
.topbar__left{display:flex;align-items:center;gap:8px}
.topbar__right{display:flex;gap:20px;flex-wrap:wrap}
.topbar a{color:#cfe0ff}.topbar a:hover{color:#fff}
.topbar .hot{color:#ffd9b0;font-weight:700}

/* ---------- 头部导航（统一） ---------- */
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transition:box-shadow .3s}
.header.is-scrolled{box-shadow:var(--shadow)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}

.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;color:var(--primary-dark);white-space:nowrap;flex-shrink:0}
.logo .mark{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--primary),#4d8bff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;box-shadow:0 6px 14px rgba(30,111,255,.35)}
.logo small{display:block;font-size:11px;color:var(--text-muted);font-weight:500;letter-spacing:2px}
.logo__mark{display:flex}
.logo__text{letter-spacing:.5px;white-space:nowrap;flex-shrink:0}

.nav{display:flex;align-items:center;gap:6px;flex-shrink:0}
.nav a{padding:8px 14px;border-radius:8px;font-size:15px;font-weight:500;color:var(--text);transition:all .2s;white-space:nowrap;flex-shrink:0}
.nav a:hover{color:var(--primary);background:var(--primary-light)}
.nav a.active{color:var(--primary);font-weight:700;background:var(--primary-light)}

.header__cta{display:flex;align-items:center;gap:12px}
.header__phone{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--accent);font-size:18px}
.header__phone svg{width:18px;height:18px}

.nav-toggle{display:none;width:42px;height:38px;border:none;background:transparent;cursor:pointer;position:relative}
.nav-toggle span{position:absolute;left:8px;right:8px;height:2.5px;background:var(--primary-dark);border-radius:2px;transition:.3s}
.nav-toggle span:nth-child(1){top:10px}.nav-toggle span:nth-child(2){top:18px}.nav-toggle span:nth-child(3){top:26px}
.nav-toggle.is-open span:nth-child(1){top:18px;transform:rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){top:18px;transform:rotate(-45deg)}

/* 导航项较多时提前切换移动菜单，避免中文被 Flex 压缩成两行。 */
@media(max-width:1100px){
  .nav{position:fixed;top:var(--header-h);left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 16px 18px;gap:2px;box-shadow:var(--shadow);border-bottom:1px solid var(--border);transform:translateY(-130%);transition:transform .3s;z-index:99}
  .nav.is-open{transform:none}
  .nav a{padding:12px 10px;border-radius:8px}
  .nav-toggle{display:block}
  .header__cta{display:none}
}

/* ---------- 轮播 Hero（PHP 站） ---------- */
.hero{position:relative;overflow:hidden}
.hero__track{display:flex;transition:transform .6s ease}
.hero__slide{min-width:100%;min-height:480px;display:flex;align-items:center;color:#fff;position:relative}
.hero__slide::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 400px at 80% 20%,rgba(255,255,255,.18),transparent)}
.hero__content{position:relative;z-index:2;max-width:720px;padding:40px 0}
.hero__title{font-size:46px;font-weight:800;line-height:1.25;margin-bottom:18px;text-shadow:0 2px 12px rgba(0,0,0,.2)}
.hero__subtitle{font-size:19px;opacity:.95;margin-bottom:30px}
.hero__arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.25);color:#fff;border:none;font-size:30px;line-height:1;cursor:pointer;z-index:5;transition:background .2s}
.hero__arrow:hover{background:rgba(255,255,255,.45)}
.hero__arrow--prev{left:24px}.hero__arrow--next{right:24px}
.hero__dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.hero__dots button{width:11px;height:11px;border-radius:50%;border:none;cursor:pointer;background:rgba(255,255,255,.5);transition:.25s;padding:0}
.hero__dots button.is-active{background:#fff;width:28px;border-radius:6px}

/* ---------- 落地页 Hero banner（静态站） ---------- */
.pagehero{position:relative;background:linear-gradient(120deg,#0a3fb8 0%,#1e6fff 55%,#4d8bff 100%);color:#fff;overflow:hidden;padding:56px 0 60px}
.pagehero::after{content:"";position:absolute;right:-80px;top:-80px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%)}
.pagehero__inner{position:relative}
.breadcrumb{font-size:13px;color:#bcd2ff;margin-bottom:16px}
.breadcrumb a{color:#bcd2ff}.breadcrumb a:hover{color:#fff}
.breadcrumb span{margin:0 8px;opacity:.6}
.pagehero h1{font-size:38px;font-weight:800;line-height:1.25;margin-bottom:14px}
.pagehero h1 .hl{color:#ffd27a}
.pagehero p{font-size:16.5px;color:#d8e6ff;max-width:640px;margin-bottom:24px}
.pagehero__actions{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- 通用版块（统一） ---------- */
.section{padding:64px 0}
.section--alt{background:var(--bg-alt)}
.section__head{text-align:center;max-width:720px;margin:0 auto 44px}
.section__title{font-size:30px;font-weight:800;letter-spacing:.5px}
.section__title .hl{color:var(--primary)}
.section__eyebrow{display:inline-block;font-size:13px;letter-spacing:3px;color:var(--primary);font-weight:700;margin-bottom:12px}
.section__sub{color:var(--text-muted);margin-top:12px;font-size:15.5px}
.section__desc{color:var(--text-muted);margin-top:14px;font-size:16px}
.section__title--left{text-align:left;font-size:30px}
.section__more{text-align:center;margin-top:44px}

/* ---------- 业务卡片（PHP 站 .card） ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cards--wide{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:34px 28px;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:transparent}
.card__icon{width:64px;height:64px;border-radius:16px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:.3s}
.card:hover .card__icon{background:var(--primary);color:#fff}
.card__title{font-size:21px;font-weight:700;margin-bottom:10px}
.card__text{color:var(--text-muted);font-size:14.5px;flex:1}
.card__more{margin-top:18px;color:var(--primary);font-weight:600;font-size:14px;transition:gap .2s}

/* ---------- 业务列表（静态站 .svc-*） ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px 24px;transition:all .25s}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:#cfe0ff}
.svc-card__icon{width:52px;height:52px;border-radius:13px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.svc-card__icon svg{width:26px;height:26px}
.svc-card h3{font-size:18px;margin-bottom:8px}
.svc-card p{color:var(--text-muted);font-size:14px;margin-bottom:12px;min-height:42px}
.svc-card ul{font-size:13.5px;color:#43505f}
.svc-card ul li{padding:3px 0;display:flex;gap:7px}
.svc-card ul li::before{content:"✓";color:var(--accent);font-weight:800}
.svc-card .more{display:inline-block;margin-top:12px;color:var(--primary);font-weight:600;font-size:14px}

.svc-rows{display:grid;gap:16px}
.svc-row{display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;transition:all .25s}
.svc-row:hover{box-shadow:var(--shadow);border-color:#cfe0ff}
.svc-row__icon{width:54px;height:54px;border-radius:13px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}
.svc-row__icon svg{width:28px;height:28px}
.svc-row h3{font-size:17px}
.svc-row p{color:var(--text-muted);font-size:13.5px}
.svc-row .price{font-weight:800;color:var(--accent);font-size:16px;white-space:nowrap}

/* ---------- 价格卡（静态站） ---------- */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto}
.price-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:30px 28px;position:relative}
.price-card.featured{border:2px solid var(--accent);box-shadow:var(--shadow-hover)}
.price-card .tag{position:absolute;top:-13px;right:24px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:700;padding:5px 14px;border-radius:999px}
.price-card h3{font-size:19px;margin-bottom:6px}
.price-card .price{font-size:38px;font-weight:800;color:var(--primary);margin:6px 0}
.price-card .price small{font-size:15px;color:var(--text-muted);font-weight:500}
.price-card ul{margin:16px 0 22px;font-size:14px}
.price-card ul li{padding:6px 0;border-bottom:1px dashed var(--border);display:flex;gap:8px}
.price-card ul li::before{content:"●";color:var(--accent);font-size:10px;align-self:center}

/* ---------- 对比表（静态站） ---------- */
.compare{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.compare table{width:100%;border-collapse:collapse;font-size:14.5px}
.compare th,.compare td{padding:14px 18px;text-align:center;border-bottom:1px solid var(--border)}
.compare th{background:var(--bg-alt);font-weight:700}
.compare td:first-child,.compare th:first-child{text-align:left}
.compare .good{color:#0a8a5f;font-weight:700}
.compare .bad{color:#c0392b}

/* ---------- 流程（静态站） ---------- */
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.flow-step{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px;position:relative;text-align:center}
.flow-step .idx{width:46px;height:46px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.flow-step h3{font-size:17px;margin-bottom:6px}
.flow-step p{color:var(--text-muted);font-size:13.5px}

/* ---------- 数据实力（统一） ---------- */
.stats{background:linear-gradient(120deg,#0a3fb8,#1e6fff);color:#fff;padding:56px 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat__num,.stat__suffix{color:#ffd27a}
.stat__num{font-size:42px;font-weight:800;line-height:1}
.stat__suffix{display:inline;font-size:22px;font-weight:700;margin-left:2px}
.stat__label{margin-top:10px;font-size:14.5px;color:#d8e6ff}

/* ---------- FAQ（静态站） ---------- */
.faq{max-width:860px;margin:0 auto}
.faq__item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;overflow:hidden;transition:box-shadow .25s}
.faq__item:hover{box-shadow:var(--shadow)}
.faq__q{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;font-weight:600;font-size:16px}
.faq__q .ic{width:26px;height:26px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s;font-weight:800}
.faq__item.is-open .faq__q .ic{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--text-muted);font-size:14.5px}
.faq__a div{padding:0 22px 18px}
.faq__item.is-open .faq__a{max-height:400px}

/* ---------- 标签（静态站） ---------- */
.tags{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}
.tags a{padding:7px 18px;border:1px solid var(--border);border-radius:999px;font-size:14px;color:var(--text-muted);transition:.2s}
.tags a:hover,.tags a.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ---------- 新闻列表（静态站 .post-*） ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .25s;display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.post-card__cover{height:160px;background:linear-gradient(135deg,#1e6fff,#4d8bff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;position:relative}
.post-card__cover span{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.25);padding:3px 10px;border-radius:999px;font-size:12px}
.post-card__body{padding:18px 20px;flex:1;display:flex;flex-direction:column}
.post-card__date{color:var(--text-muted);font-size:13px}
.post-card h3{font-size:16px;margin:8px 0;line-height:1.5}
.post-card p{color:var(--text-muted);font-size:13.5px;flex:1}
.post-card .more{margin-top:12px;color:var(--primary);font-weight:600;font-size:14px}
.post-list{display:grid;gap:14px}
.post-item{display:grid;grid-template-columns:120px 1fr;gap:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;transition:.25s}
.post-item:hover{box-shadow:var(--shadow);border-color:#cfe0ff}
.post-item__date{background:var(--primary-light);color:var(--primary);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800}
.post-item__date b{font-size:26px;line-height:1}
.post-item__date span{font-size:12px;font-weight:500}
.post-item h3{font-size:17px;margin-bottom:6px}
.post-item p{color:var(--text-muted);font-size:14px}

/* ---------- 新闻（PHP 站 .news-*） ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.news-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.news-card__cover{position:relative;height:170px}
.news-card__date{display:inline-block;background:var(--primary-light);color:var(--primary-dark);font-weight:800;font-size:12px;padding:3px 10px;border-radius:6px;margin-bottom:10px;align-self:flex-start}
.news-card__body{padding:22px;flex:1;display:flex;flex-direction:column;position:relative}
.news-card__title{font-size:18px;font-weight:700;margin-bottom:10px;line-height:1.5}
.news-card__summary{color:var(--text-muted);font-size:14px;flex:1}
.news-card__more{margin-top:16px;color:var(--primary);font-weight:600;font-size:14px}

/* ---------- 合作伙伴（PHP 站） ---------- */
.partners{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.partner{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);height:84px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;color:#8a93a3;transition:.3s}
.partner:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-3px)}

/* ---------- 关于我们（PHP 站） ---------- */
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.about__media{position:relative;min-height:360px}
.about__shape{position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-light),#d6e4ff);border-radius:24px;clip-path:polygon(0 0,100% 8%,92% 100%,0 92%)}
.about__badge{position:absolute;left:30px;bottom:30px;background:#fff;border-radius:18px;padding:22px 28px;box-shadow:var(--shadow);text-align:center}
.about__badge strong{display:block;font-size:40px;font-weight:800;color:var(--primary)}
.about__badge span{font-size:14px;color:var(--text-muted)}
.about__intro{color:var(--text-muted);margin:18px 0 22px;font-size:16px}
.about__points li{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-weight:500}
.about__points .dot{width:9px;height:9px;border-radius:50%;background:var(--primary);flex:none}
.about__rich p{margin-bottom:14px;color:#3a4452}

/* ---------- 时间线 / 文化（PHP 站） ---------- */
.timeline{position:relative;margin:0 auto;padding-left:28px}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--primary-light)}
.timeline li{position:relative;padding:0 0 28px 24px}
.timeline li::before{content:"";position:absolute;left:-28px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid #fff;box-shadow:0 0 0 2px var(--primary-light)}
.timeline__year{font-weight:800;color:var(--primary);font-size:18px}
.timeline h4{font-size:17px;margin:4px 0 4px}
.timeline p{color:var(--text-muted)}
.culture{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.culture__item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:transform .3s,box-shadow .3s}
.culture__item:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.culture__item h3{font-size:19px;color:var(--primary);margin-bottom:10px}
.culture__item p{color:var(--text-muted);font-size:14.5px}

/* ---------- 内页横幅（PHP 站 .page-hero） ---------- */
.page-hero{background:linear-gradient(120deg,var(--primary),var(--primary-dark));color:#fff;padding:56px 0;text-align:center}
.page-hero h1{font-size:36px;font-weight:800}
.page-hero p{opacity:.9;margin-top:10px;letter-spacing:1px}

/* ---------- 业务详情（PHP 站 .detail） ---------- */
.detail{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
.detail__main{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:40px}
.detail__icon{width:70px;height:70px;border-radius:18px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.detail__title{font-size:28px;font-weight:800}
.detail__summary{color:var(--text-muted);margin:12px 0 24px;font-size:17px}
.detail__content{color:#3a4452;font-size:16px}
.detail__content ul{margin:14px 0;padding-left:4px}
.detail__content li{position:relative;padding-left:22px;margin-bottom:8px}
.detail__content li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:800}
.detail__cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.detail__side{display:flex;flex-direction:column;gap:20px}
.side-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.side-box h4{font-size:17px;margin-bottom:14px}
.side-list li{margin-bottom:10px}
.side-list a{color:var(--text-muted);transition:color .2s}
.side-list a:hover{color:var(--primary)}
.side-box--contact{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}
.side-box--contact h4,.side-box--contact p{color:#fff}
.side-box__phone{display:inline-block;margin-top:8px;font-size:22px;font-weight:800}

/* ---------- 文章（PHP 站 .article） ---------- */
.article__main{margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:44px}
.article__title{font-size:30px;font-weight:800;line-height:1.4}
.article__meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--text-muted);font-size:14px;margin:18px 0 24px;padding-bottom:18px;border-bottom:1px dashed var(--border)}
.article__cover{height:280px;border-radius:var(--radius);margin-bottom:26px}
.article__content{color:#3a4452;font-size:16.5px}
.article__content p{margin-bottom:16px}
.article__nav{display:flex;justify-content:space-between;gap:16px;margin-top:34px;padding-top:22px;border-top:1px solid var(--border);flex-wrap:wrap}
.article__nav a{color:var(--primary);font-weight:600}
.article__nav-next{text-align:right}

/* ---------- 联系（静态站 .contact-*） ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.contact-info{background:linear-gradient(135deg,#0a3fb8,#1e6fff);color:#fff;border-radius:var(--radius);padding:34px 30px}
.contact-info h3{font-size:22px;margin-bottom:18px}
.contact-info .line{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}
.contact-info .line svg{width:22px;height:22px;flex-shrink:0;margin-top:2px;color:#ffd27a}
.contact-info .line b{display:block;font-weight:600;margin-bottom:2px}
.contact-info .line span{color:#d8e6ff;font-size:14px}
.contact-form{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
.contact-form .field{margin-bottom:14px}
.contact-form label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:5px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:#fbfdff;transition:.2s}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--primary);background:#fff}
.contact-form textarea{resize:vertical;min-height:90px}
.contact{padding-bottom:8px} /* 联系区块与页脚之间留一点呼吸空间 */
.map-ph{height:200px;border-radius:var(--radius);background:repeating-linear-gradient(45deg,#eaf1ff,#eaf1ff 18px,#dfeaff 18px,#dfeaff 36px);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px;margin-top:18px}

/* ---------- 联系（PHP 站 .contact / .form） ---------- */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;align-items:start}
.contact__info h2,.contact__form-wrap h2{font-size:24px;font-weight:800;margin-bottom:22px}
.contact__list li{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px}
.contact__ico{font-size:26px;line-height:1}
.contact__list b{display:block;font-size:15px;margin-bottom:2px}
.contact__list p{color:var(--text-muted);font-size:15px}
.contact__map{margin-top:24px;height:200px;border-radius:var(--radius);background:linear-gradient(135deg,#e8f0ff,#d3e2ff);display:flex;align-items:center;justify-content:center;color:var(--primary-dark);font-weight:600;border:1px dashed var(--primary)}
.contact__form-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}
.form__row{margin-bottom:18px}
.form__row label{display:block;font-weight:600;margin-bottom:8px;font-size:14.5px}
.form__row label i{color:#e23b3b;font-style:normal}
/* 蜜罐字段：对真人隐藏，仅用于识别机器人 */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form input,.form textarea{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fbfdff}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,111,255,.15)}
.form textarea{resize:vertical}

/* ---------- 提示条 alert（统一） ---------- */
.alert{display:none;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}
.alert--ok{display:block;background:#e7f8f1;color:#0a8a5f;border:1px solid #b8ead7}
.alert--err{display:block;background:#fdecec;color:#c0392b;border:1px solid #f5c6c6}

/* ---------- CTA 条（统一，两套共存） ---------- */
.cta-band{background:linear-gradient(120deg,#0a3fb8,#1e6fff);color:#fff;border-radius:var(--radius);padding:40px 36px;text-align:center}
.cta-band h2{font-size:26px;margin-bottom:10px}
.cta-band p{color:#d8e6ff;margin-bottom:22px;font-size:15.5px}
.cta-band .btn--light{background:#fff;color:var(--primary)}

.cta{background:linear-gradient(120deg,#0c1a3a,#123a8f);color:#fff;padding:60px 0}
.cta__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cta__title{font-size:30px;font-weight:800}
.cta__sub{opacity:.9;margin-top:8px;font-size:16px}

/* ---------- 分页（PHP 站） ---------- */
.pager{display:flex;justify-content:center;gap:8px;margin-top:44px;flex-wrap:wrap}
.pager a{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;color:var(--text);transition:.2s}
.pager a:hover,.pager a.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}
.empty{text-align:center;color:var(--text-muted);padding:40px 0}

/* ---------- 页脚（统一 + 两套结构共存） ---------- */
.footer{background:#0c1a3a;color:#aebfd8;padding:50px 0 24px;font-size:14px}
/* 静态站页脚结构 */
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:30px}
.footer .logo{color:#fff;margin-bottom:14px}
.footer p{color:#8ea3c4;font-size:13.5px;line-height:1.9}
.footer h4{color:#fff;font-size:15px;margin-bottom:14px}
.footer ul li{padding:5px 0}
.footer ul li a{color:#aebfd8}.footer ul li a:hover{color:#fff}
/* PHP 站页脚结构 */
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:44px}
.footer__logo{font-size:22px;font-weight:800;color:#fff;margin-bottom:16px}
.footer__about p{font-size:14px;line-height:1.8;opacity:.85}
.footer__social{display:flex;align-items:center;gap:14px;margin-top:18px}
.footer__qr-text{font-size:13px;line-height:1.5}
.footer__col h4{color:#fff;font-size:16px;margin-bottom:16px;position:relative;padding-left:12px}
.footer__col h4::before{content:"";position:absolute;left:0;top:4px;width:4px;height:16px;background:var(--primary);border-radius:2px}
.footer__col ul li{margin-bottom:10px;font-size:14px}
.footer__col ul li a{opacity:.85;transition:color .2s,padding-left .2s}
.footer__col ul li a:hover{color:#fff;padding-left:4px}
.footer__contact ul li{opacity:.85}
.footer__bottom{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#7d92b5;font-size:13px}
.footer__bottom .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ---------- 回到顶部（统一） ---------- */
.back-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:12px;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(30,111,255,.4);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;z-index:120;font-size:20px}
.back-top.is-show{opacity:1;visibility:visible;transform:none}
.back-top:hover{background:var(--primary-dark)}
.back-top svg{width:22px;height:22px}

/* ============================================================
   响应式（合并两套断点）
   ============================================================ */
@media(max-width:1024px){
  .stats__grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}
  .cards,.news-grid{grid-template-columns:repeat(2,1fr)}
  .partners{grid-template-columns:repeat(3,1fr)}
  .culture{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
  .detail,.contact,.about{grid-template-columns:1fr}
  .about__media{min-height:280px}
  .detail__side{flex-direction:row}
}

@media(max-width:768px){
  .nav{position:fixed;top:var(--header-h);left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 16px 18px;gap:2px;box-shadow:var(--shadow);border-bottom:1px solid var(--border);transform:translateY(-130%);transition:transform .3s;z-index:99}
  .nav.is-open{transform:none}
  .nav a{padding:12px 10px;border-radius:8px}
  .nav-toggle{display:block}
  .header__phone{display:none}
  .topbar__right{display:none}
  .section{padding:46px 0}
  .section__title{font-size:24px}
  .pagehero h1{font-size:27px}
  .svc-grid,.post-grid{grid-template-columns:1fr}
  .price-grid,.contact-grid{grid-template-columns:1fr}
  .flow-grid{grid-template-columns:1fr 1fr}
  .stats__grid{grid-template-columns:repeat(2,1fr);gap:24px 10px}
  .stat__num{font-size:40px}
  .footer-grid{grid-template-columns:1fr}
  .svc-row{grid-template-columns:48px 1fr;grid-template-rows:auto auto}
  .svc-row .price{grid-column:2;justify-self:start}
  .post-item{grid-template-columns:1fr}
  .post-item__date{flex-direction:row;gap:8px;padding:8px 14px;width:fit-content}
  /* PHP 站组件 */
  .hero__slide{min-height:360px}
  .hero__title{font-size:30px}
  .hero__subtitle{font-size:16px}
  .hero__arrow{display:none}
  .cards,.news-grid,.partners,.culture{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:28px}
  .detail__side{flex-direction:column}
  .detail__main,.article__main,.contact__form-wrap{padding:26px}
  .cta__inner{flex-direction:column;text-align:center}
}

/* ============================================================
   语义化工具类 / 修饰类（解决评审报告 P1：内联样式收敛）
   ============================================================ */
.text-primary{color:var(--primary)}
.mt-auto{margin-top:auto}
.w-100{width:100%}
.hero__eyebrow--accent{background:var(--accent);color:#fff}
.gs-card--danger{border-left:4px solid #e74c3c}
.gs-card--warn{border-left:4px solid #f39c12}
.gs-card__icon--danger{background:linear-gradient(135deg,#fef0ef,#fadbd8)}
.gs-card__icon--warn{background:linear-gradient(135deg,#fef9e7,#fcf3cf)}
.cat-card--hot{border-left-color:#ff6b35}
.grid-2{grid-template-columns:repeat(2,1fr)}


/* ============================================================
   演示首页 demo.html 专用样式（作用域 #demoHome，不污染其他页面）
   业务：内蒙古蔚蓝财税 首页。随统一 style.css 加载。
   ============================================================ */

#demoHome .hero { position:relative;overflow:hidden;background:linear-gradient(120deg,#0a3fb8 0%,#1e6fff 55%,#4d8bff 100%);color:#fff }

/* 科技感：网格纹理 */
#demoHome .hero::before {
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 25%,transparent 78%);
  mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 25%,transparent 78%)
}

/* 科技感：浮动光晕 */
#demoHome .hero::after {
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(420px circle at 80% 18%,rgba(120,170,255,.55),transparent 60%),
    radial-gradient(360px circle at 12% 88%,rgba(11,184,166,.30),transparent 60%);
  animation:heroGlow 9s ease-in-out infinite alternate
}

@keyframes heroGlow {
  0%   { transform:translate3d(0,0,0) scale(1) }
  100% { transform:translate3d(-22px,14px,0) scale(1.08) }
}

@media(prefers-reduced-motion:reduce){
  #demoHome .hero::after { animation:none }
}

#demoHome .hero__inner { position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .9fr;gap:40px;align-items:center;padding:60px 0 70px }

#demoHome .hero__title { font-size:38px;font-weight:800;line-height:1.25;margin-bottom:14px }

#demoHome .hero__title .hl { color:#ffd27a }

#demoHome .hero__eyebrow { display:inline-block;padding:5px 14px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:600;margin-bottom:16px }

#demoHome .hero__inner { position:relative;display:grid;grid-template-columns:1.3fr .9fr;gap:40px;align-items:center;padding:60px 0 70px }

#demoHome .hero__slides { display:grid }

#demoHome .hero__slide { grid-area:1/1;display:block;min-width:0;min-height:0;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s;pointer-events:none }

#demoHome .hero__slide.is-active { opacity:1;transform:none;pointer-events:auto }

#demoHome .hero__desc { font-size:16.5px;color:#d8e6ff;margin-bottom:26px;max-width:520px }

#demoHome .hero__actions { display:flex;gap:14px;flex-wrap:wrap }

#demoHome .hero__card { background:#fff;border-radius:16px;padding:26px;color:var(--text);box-shadow:0 24px 60px rgba(0,0,0,.25) }

#demoHome .hero__card h3 { font-size:19px;margin-bottom:4px }

#demoHome .hero__card p { color:var(--text-muted);font-size:13.5px;margin-bottom:16px }

#demoHome .hero__card .field { margin-bottom:12px }

#demoHome .hero__card label { display:block;font-size:13px;color:var(--text-muted);margin-bottom:5px }

#demoHome .hero__card input, #demoHome .hero__card select { width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:#fbfdff;transition:.2s }

#demoHome .hero__card input:focus, #demoHome .hero__card select:focus { outline:none;border-color:var(--primary);background:#fff }

#demoHome .hero__card .btn { width:100%;margin-top:6px }

#demoHome .hero__card .tip { text-align:center;font-size:12.5px;color:var(--text-muted);margin-top:12px }

#demoHome .hero__card .tip b { color:var(--accent) }

#demoHome .biz-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px }

#demoHome .biz-card { background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;transition:all .25s;position:relative;overflow:hidden }

/* 科技感：渐变光边（hover 显示） */
#demoHome .biz-card::after {
  content:"";position:absolute;inset:0;border-radius:var(--radius);
  padding:1.5px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .3s
}

#demoHome .biz-card:hover { transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:transparent }

#demoHome .biz-card:hover::after { opacity:1 }

#demoHome .biz-card__icon { width:54px;height:54px;border-radius:13px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:16px }

#demoHome .biz-card__icon svg { width:28px;height:28px }

#demoHome .biz-card h3 { font-size:18px;margin-bottom:8px }

#demoHome .biz-card p { color:var(--text-muted);font-size:14px;margin-bottom:14px;min-height:44px }

#demoHome .biz-card ul { font-size:13.5px;color:#43505f }

#demoHome .biz-card ul li { padding:3px 0;display:flex;gap:7px }

#demoHome .biz-card ul li::before { content:"✓";color:var(--accent);font-weight:800 }

#demoHome .biz-card .more { display:inline-block;margin-top:14px;color:var(--primary);font-weight:600;font-size:14px }

#demoHome .biz-card--core { border-color:var(--accent);box-shadow:0 12px 32px rgba(11,184,166,.16) }

#demoHome .biz-card--core .biz-card__icon { background:linear-gradient(135deg,var(--accent),#ff9d52);color:#fff }

#demoHome .biz-card__badge { position:absolute;top:16px;right:16px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;padding:3px 11px;border-radius:999px;letter-spacing:.5px }

#demoHome .biz-card--cta { display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-style:dashed;background:var(--primary-light) }

#demoHome .biz-card--cta h3 { margin-bottom:8px }

#demoHome .biz-card--cta p { margin-bottom:0 }

/* 科技感：浅色区点阵纹理 + 统计数字发光 */
#demoHome .section--alt, #demoHome .why {
  background-image:radial-gradient(rgba(30,111,255,.05) 1px,transparent 1px);
  background-size:24px 24px
}

#demoHome .stat__num, #demoHome .data-bar__num {
  text-shadow:0 0 18px rgba(30,111,255,.28)
}

#demoHome .why { background:var(--bg-alt) }

#demoHome .why-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px }

#demoHome .why-card { background:#fff;border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow);border-top:3px solid var(--primary) }

#demoHome .why-card:nth-child(2) { border-top-color:var(--accent) }

#demoHome .why-card__num { font-size:15px;font-weight:800;color:var(--primary);margin-bottom:8px }

#demoHome .why-card h3 { font-size:18px;margin-bottom:8px }

#demoHome .why-card p { color:var(--text-muted);font-size:14px }

#demoHome .partners { display:block }
#demoHome .contact { display:block }

/* 新闻卡片：补全 cover 可见背景（全局仅设 height 未设背景） */
#demoHome .news-card__cover { background:linear-gradient(135deg,#1e6fff,#0a3fb8);display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:15px;font-weight:700 }
#demoHome .news-card__cover span { background:rgba(255,255,255,.2);padding:3px 12px;border-radius:999px;font-size:12px }

#demoHome .partner-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px }

#demoHome .partner-logo { height:80px;border:1px solid #e8ecf2;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;background:#fff;transition:all .25s ease;cursor:default }
#demoHome .partner-logo:hover { border-color:var(--primary);box-shadow:0 4px 14px rgba(30,111,255,.1);transform:translateY(-2px) }
#demoHome .partner-logo__icon { width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;flex-shrink:0 }
#demoHome .partner-logo__name { font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis }

#demoHome .jckts-feature { background:linear-gradient(120deg,#ffffff,#fff6ef) }

#demoHome .jckts-feature__inner { display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center }

#demoHome .jckts-feature__text h2 { font-size:30px;font-weight:800;line-height:1.3;margin:16px 0 }

#demoHome .jckts-feature__text .hl { color:var(--accent) }

#demoHome .jckts-feature__text p { color:var(--text-muted);font-size:15.5px;margin-bottom:18px }

#demoHome .jckts-feature__points { margin:0 0 24px }

#demoHome .jckts-feature__points li { padding:6px 0;display:flex;gap:9px;font-size:14.5px;color:#43505f }

#demoHome .jckts-feature__points li::before { content:"✓";color:var(--accent);font-weight:800 }

#demoHome .jckts-feature__cards { display:grid;grid-template-columns:1fr 1fr;gap:16px }

#demoHome .jckts-mini { background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;text-align:center;box-shadow:var(--shadow) }

#demoHome .jckts-mini__n { font-size:32px;font-weight:800;color:var(--primary);line-height:1 }

#demoHome .jckts-mini__n small { font-size:15px;color:var(--text-muted) }

#demoHome .jckts-mini__t { margin-top:8px;font-size:13.5px;color:var(--text-muted) }

@media(max-width:1024px) {
  #demoHome .hero__inner { grid-template-columns:1fr;gap:30px }
  #demoHome .hero__card { max-width:460px }
  #demoHome .partner-grid { grid-template-columns:repeat(3,1fr) }
  #demoHome .biz-grid { grid-template-columns:repeat(2,1fr) }
}

@media(max-width:768px) {
  #demoHome .biz-grid, #demoHome .why-grid, #demoHome .news-grid { grid-template-columns:1fr }
  #demoHome .partner-grid { grid-template-columns:repeat(2,1fr) }
}

/* ============================================================
   后台管理（admin/）样式 —— 与官网共用设计令牌，独立作用域
   ============================================================ */
.btn--sm { padding:7px 14px; font-size:13px }
.btn--danger { background:#e04545; color:#fff; border-color:#e04545 }
.btn--danger:hover { background:#c0392b; border-color:#c0392b }

.admin-body { background:#f4f6fb }
.admin { display:flex; min-height:100vh }

/* 侧边栏 */
.admin__side { width:230px; flex-shrink:0; background:#0f1f3d; color:#cdd7ea; display:flex; flex-direction:column; padding:22px 16px }
.admin__brand { font-size:19px; font-weight:800; color:#fff; margin-bottom:28px; line-height:1.4 }
.admin__brand span { display:block; font-size:12px; font-weight:600; color:#7f93b8; letter-spacing:1px }
.admin__nav { display:flex; flex-direction:column; gap:4px; flex:1 }
.admin__nav a { display:block; padding:11px 14px; border-radius:9px; color:#cdd7ea; text-decoration:none; font-size:14.5px; transition:.15s }
.admin__nav a:hover { background:rgba(255,255,255,.08); color:#fff }
.admin__nav a.is-active { background:var(--primary); color:#fff; font-weight:600 }
.admin__nav--logout { margin-top:6px; color:#ff9b9b !important }
.admin__nav--logout:hover { background:rgba(255,80,80,.15) !important }
.admin__side-foot { padding-top:18px; border-top:1px solid rgba(255,255,255,.08); margin-top:12px }
.admin__side-foot a { color:#8fa3c8; font-size:13px; text-decoration:none }

/* 主区 */
.admin__main { flex:1; display:flex; flex-direction:column; min-width:0 }
.admin__topbar { height:60px; background:#fff; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; padding:0 26px }
.admin__crumb { font-size:16px; font-weight:700; color:var(--text) }
.admin__user { display:flex; align-items:center; gap:9px; font-size:14px; color:var(--text) }
.admin__avatar { width:30px; height:30px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px }
.admin__content { padding:26px; flex:1 }
.admin__foot { padding:14px 26px; color:#90a0bb; font-size:12.5px; border-top:1px solid var(--border); background:#fff }

/* 统计卡 */
.admin-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:22px }
.admin-stat { background:#fff; border:1px solid var(--border); border-radius:14px; padding:22px; box-shadow:var(--shadow) }
.admin-stat__num { font-size:34px; font-weight:800; color:var(--primary); line-height:1 }
.admin-stat--warn .admin-stat__num { color:#e0a000 }
.admin-stat--ok .admin-stat__num { color:var(--accent) }
.admin-stat__label { margin-top:8px; color:var(--text-muted); font-size:14px }

/* 卡片 */
.admin-card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:22px; box-shadow:var(--shadow); margin-bottom:22px }
.admin-card__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px }
.admin-card__head h2 { font-size:18px; font-weight:800; color:var(--text) }

/* 最新留言列表 */
.admin-recent { list-style:none; margin:0; padding:0 }
.admin-recent li { border-bottom:1px solid var(--border) }
.admin-recent li:last-child { border-bottom:0 }
.admin-recent__item { display:grid; grid-template-columns:120px 130px 1fr 90px; gap:12px; align-items:center; padding:12px 6px; text-decoration:none; color:var(--text) }
.admin-recent__item:hover { background:#f7f9fd }
.admin-recent__name { font-weight:600; display:flex; align-items:center; gap:7px }
.admin-recent__phone, .admin-recent__time { color:var(--text-muted); font-size:13px }
.admin-recent__text { color:var(--text-muted); font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.admin-dot { width:8px; height:8px; border-radius:50%; background:var(--accent); display:inline-block }

/* 操作按钮组 */
.admin-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center }

/* 搜索 */
.admin-search { display:flex; gap:10px; margin-bottom:16px }
.admin-search input { flex:1; max-width:360px }

/* 表格 */
.admin-table-wrap { overflow-x:auto }
.admin-table { width:100%; border-collapse:collapse; font-size:14px }
.admin-table th, .admin-table td { padding:12px 10px; text-align:left; border-bottom:1px solid var(--border) }
.admin-table th { color:var(--text-muted); font-weight:700; font-size:13px; background:#fafbfe }
.admin-table tr.is-unread { background:#f5f9ff }
.admin-table tr.is-unread td:first-child { box-shadow:inset 3px 0 0 var(--primary) }
.admin-table__content { max-width:240px; color:var(--text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.admin-table__ops { display:flex; gap:12px; align-items:center; white-space:nowrap }
.admin-inline-form { display:inline }
.link { color:var(--primary); text-decoration:none; background:none; border:0; cursor:pointer; font-size:14px; padding:0; font-family:inherit }
.link:hover { text-decoration:underline }
.link--danger { color:#e04545 }

/* 标签 */
.tag { display:inline-block; padding:2px 9px; border-radius:20px; font-size:12px; font-weight:600 }
.tag--warn { background:#fff3d6; color:#a9790a }
.tag--muted { background:#eef1f6; color:#6b7a90 }

/* 分页 */
.admin-pager { display:flex; gap:14px; align-items:center; justify-content:flex-end; margin-top:14px; font-size:14px; color:var(--text-muted) }
.admin-pager a { color:var(--primary); text-decoration:none }

/* 详情 */
.admin-detail__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px }
.admin-detail__head h2 { font-size:20px; color:var(--text) }
.admin-detail__meta { font-size:13px; color:var(--text-muted); font-weight:600; margin-left:10px }
.admin-detail { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:0 0 18px }
.admin-detail div { background:#f7f9fd; border-radius:10px; padding:12px 14px }
.admin-detail dt { font-size:12px; color:var(--text-muted); margin-bottom:4px }
.admin-detail dd { margin:0; font-size:14.5px; color:var(--text) }
.admin-detail__content h3 { font-size:15px; margin-bottom:8px; color:var(--text) }
.admin-detail__content p { white-space:pre-wrap; line-height:1.7; color:#33414f }

/* 表单网格 */
.admin-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 22px }

/* 空态 */
.admin-empty { color:var(--text-muted); padding:24px; text-align:center }

/* 登录页 */
.admin-login-body { background:linear-gradient(135deg,#0f1f3d,#1e6fff); min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px }
.admin-login { width:380px; max-width:100%; background:#fff; border-radius:18px; padding:34px 30px; box-shadow:0 20px 60px rgba(0,0,0,.25) }
.admin-login__brand { font-size:22px; font-weight:800; color:var(--primary) }
.admin-login__brand span { font-size:13px; color:var(--text-muted); font-weight:600; margin-left:6px }
.admin-login h1 { font-size:20px; margin:18px 0 22px; color:var(--text) }
.admin-login__tip { margin-top:16px; font-size:12.5px; color:var(--text-muted); line-height:1.6 }
.admin-login__tip code { background:#eef1f6; padding:1px 6px; border-radius:5px; font-size:12px }
.admin-login__warn { color:#a9790a }

/* ---- 内容管理补充样式 ---- */
.admin__nav-group { padding:16px 14px 6px; font-size:11.5px; color:#8298b8; letter-spacing:.6px; text-transform:uppercase }
.admin-table__title { font-weight:600; color:var(--text) }
.admin-table__acts { white-space:nowrap; width:1% }
.admin-table__acts .btn { margin:2px 3px 2px 0 }
.admin-table__icon svg { width:24px; height:24px; color:var(--primary) }
.admin-thumb { width:64px; height:40px; object-fit:cover; border-radius:6px; border:1px solid var(--border); vertical-align:middle }
.admin-swatch { display:inline-block; width:54px; height:22px; border-radius:6px; border:1px solid var(--border) }
.admin-upload-preview { display:flex; align-items:center; gap:12px; margin-bottom:8px; flex-wrap:wrap }
.admin-upload-preview img { max-height:54px; max-width:170px; object-fit:contain; border:1px solid var(--border); border-radius:8px; background:#f7f9fd }
.admin-hint { font-size:12.5px; color:var(--text-muted); margin-top:6px }
.admin-check { display:flex; align-items:center; gap:7px; font-size:14px; color:var(--text); cursor:pointer }
.admin-muted { color:var(--text-muted); font-size:13px }
.req { color:#e04545; margin-left:2px }
.form__row--check { grid-column:1 / -1 }
.tag--ok { background:#e7f8f1; color:#0a8a5f }
.tag--off { background:#eef1f6; color:#7a8aa0 }
.logo__img { height:34px; width:auto; max-width:210px; object-fit:contain }

/* 响应式 */
@media(max-width:1024px) { .admin__side { width:200px } .admin-stats { grid-template-columns:1fr 1fr } }
@media(max-width:768px) {
  .admin { flex-direction:column }
  .admin__side { width:100%; flex-direction:row; align-items:center; padding:12px 16px; gap:14px }
  .admin__brand { margin-bottom:0 }
  .admin__nav { flex-direction:row; flex-wrap:wrap; gap:6px }
  .admin__side-foot { display:none }
  .admin-stats { grid-template-columns:1fr }
  .admin-grid { grid-template-columns:1fr }
  .admin-detail { grid-template-columns:1fr }
  .admin-recent__item { grid-template-columns:90px 1fr }
  .admin-recent__phone, .admin-recent__time { display:none }
}
