:root{
  --primary:#22d3c5;
  --primary-2:#4cc9ff;
  --primary-3:rgba(34,211,197,.14);

  --bg:#0f1720;
  --card:#18222b;
  --card-soft:#1d2a34;
  --card-solid:#1b2630;

  --text:#e6f1f7;
  --muted:#8aa3b4;

  --border:#2a3945;
  --radius:20px;
  --shadow:0 10px 30px rgba(0,0,0,0.45);

  --danger:#ff5f6d;
  --success:#3ee0a5;
  --warning:#ffb74d;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}

body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(76,201,255,.10), transparent 30%),
    radial-gradient(circle at top right, rgba(34,211,197,.08), transparent 28%),
    linear-gradient(180deg,#0f1720 0%,#111c25 100%);
}

a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.hidden{display:none !important}

.site-shell{
  max-width:1120px;
  margin:0 auto;
  padding:16px;
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:18px;
}

.brand{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.brand-title{
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}
.brand-subtitle{
  font-size:13px;
  color:var(--muted);
  margin-top:2px;
}

.hero-card,.panel,.feature-card,.order-card,.doc-card,.legal-section-card{
  background:var(--card);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  backdrop-filter:blur(10px);
}

.hero-card{
  padding:28px;
  margin-bottom:20px;
}
.hero-top-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.badge{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(34,211,197,.12);
  color:var(--primary);
  font-size:12px;
  font-weight:700;
}
.hero-copy h1{
  margin:10px 0;
  font-size:32px;
  line-height:1.16;
  letter-spacing:-.02em;
}
.hero-copy p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.85;
}

.page-wrap{min-height:60vh}

.panel{
  padding:20px;
  margin-bottom:18px;
}
.panel-head{
  margin-bottom:14px;
}
.panel-head h2{
  margin:0;
  font-size:19px;
}
.panel-head p{
  margin:6px 0 0;
}

.muted{
  color:var(--muted);
  font-size:13px;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.field label{
  font-size:14px;
  font-weight:700;
}
.field input,
.field select,
.field textarea,
input,
select,
textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--card-soft);
  color:var(--text);
  outline:none;
}
.field textarea,
textarea{
  min-height:88px;
  resize:vertical;
}
input::placeholder,
textarea::placeholder{
  color:var(--muted);
}

.actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.btn{
  border:none;
  border-radius:14px;
  padding:11px 16px;
  cursor:pointer;
  transition:.18s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#04141a;
  font-weight:800;
}
.btn-primary:hover{
  background:linear-gradient(135deg,#2fe3d4,#63d4ff);
}
.btn-secondary{
  background:var(--card-soft);
  border:1px solid var(--border);
  color:var(--text);
}
.btn-danger{
  background:rgba(255,95,109,.14);
  color:var(--danger);
  border:1px solid rgba(255,95,109,.28);
}

.package-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.package-card{
  background:var(--card-soft);
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  text-align:center;
  cursor:pointer;
  color:var(--text);
}
.package-card.active{
  border:2px solid var(--primary);
  background:linear-gradient(180deg,rgba(34,211,197,.08),rgba(76,201,255,.05));
}
.package-badge{
  display:inline-block;
  background:var(--primary-3);
  color:var(--primary);
  padding:4px 9px;
  border-radius:999px;
  font-size:11px;
  margin-bottom:8px;
}
.package-name{
  font-size:14px;
  color:var(--muted);
  margin-bottom:8px;
}
.package-price{
  font-size:24px;
  font-weight:800;
}

.notice-box{
  border:1px solid rgba(255,183,77,.26);
  background:rgba(255,183,77,.08);
  border-radius:16px;
  padding:16px;
  color:#f5d399;
}
.notice-box strong{
  display:block;
  margin-bottom:8px;
}

.success-box{
  border:1px solid rgba(62,224,165,.24);
  background:rgba(62,224,165,.10);
  border-radius:16px;
  padding:16px;
  color:var(--success);
}
.wait-box{
  border:1px solid rgba(76,201,255,.22);
  background:rgba(76,201,255,.08);
  border-radius:16px;
  padding:16px;
}

.order-card{
  padding:18px;
}
.order-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-start;
  margin-bottom:14px;
}
.order-id{
  font-size:16px;
  font-weight:800;
}
.order-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.meta-item{
  background:rgba(29,42,52,.9);
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px;
}
.meta-label{
  font-size:12px;
  color:var(--muted);
  margin-bottom:4px;
}
.meta-value{
  font-size:14px;
  word-break:break-word;
  line-height:1.6;
}

.status-pill{
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}
.status-pending{background:rgba(255,183,77,.14);color:var(--warning)}
.status-paid_review{background:rgba(76,201,255,.14);color:var(--primary-2)}
.status-completed{background:rgba(62,224,165,.14);color:var(--success)}
.status-cancelled{background:rgba(255,95,109,.14);color:var(--danger)}

/* 首页套餐折叠（旧版兼容） */
.home-collapse {
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--card);
  box-shadow: var(--shadow);
  margin-bottom: 18px;
  overflow: hidden;
}
.home-collapse summary {
  list-style: none;
  cursor: pointer;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.home-collapse summary::-webkit-details-marker {
  display: none;
}
.home-collapse-body {
  padding: 0 20px 20px;
  border-top: 1px solid rgba(76,201,255,.12);
}
.collapse-arrow {
  font-size: 14px;
  color: var(--muted);
}

/* 查询页操作 */
.query-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.query-order-card {
  padding: 16px;
  margin-bottom: 14px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

/* 更小的电子回单 */
.modal-mask{
  position:fixed;
  inset:0;
  background:rgba(6,12,18,.62);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:999;
}
.modal{
  width:min(360px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  background:var(--card-solid);
  border-radius:22px;
  border:1px solid var(--border);
  box-shadow:0 18px 46px rgba(0,0,0,.35);
}
.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 18px;
  border-bottom:1px solid var(--border);
}
.modal-title{
  font-size:17px;
  font-weight:800;
}
.modal-close{
  border:none;
  background:transparent;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  color:var(--muted);
}
.modal-body{
  padding:18px;
}
.receipt-hero{
  padding:12px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(34,211,197,.10),rgba(76,201,255,.08));
  margin-bottom:10px;
}
.receipt-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.receipt-item{
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--card-soft);
  padding:10px;
}
.receipt-label{
  font-size:11px;
  color:var(--muted);
  margin-bottom:4px;
}
.receipt-value{
  font-size:13px;
  line-height:1.45;
  word-break:break-word;
}
.modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px;
}

.paid-state-box {
  border: 1px solid rgba(62,224,165,.24);
  background: rgba(62,224,165,.10);
  border-radius: 16px;
  padding: 16px;
}
.paid-state-box strong {
  display: block;
  margin-bottom: 8px;
}

/* 后台订单折叠 */
.admin-orders-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.admin-order-fold {
  border: 1px solid rgba(76,201,255,.16);
  border-radius: 18px;
  background: var(--card);
  overflow: hidden;
}
.admin-order-fold summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.admin-order-fold summary::-webkit-details-marker {
  display: none;
}
.admin-order-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.admin-order-id {
  font-size: 15px;
  font-weight: 800;
}
.admin-order-sub {
  font-size: 13px;
  color: var(--muted);
}
.admin-order-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-order-body {
  padding: 0 18px 18px;
  border-top: 1px solid rgba(76,201,255,.12);
}
.admin-actions{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.admin-inline-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.empty-tip{
  display:none;
  text-align:center;
  padding:18px;
  color:var(--muted);
}
.pagination-bar{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}
.pagination-info{
  font-size:13px;
  color:var(--muted);
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.stat-card{
  background:var(--card-soft);
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
}
.stat-label{
  font-size:12px;
  color:var(--muted);
}
.stat-value{
  font-size:20px;
  font-weight:800;
  margin-top:4px;
}
.price-config-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.price-item{
  border:1px solid rgba(76,201,255,.16);
  border-radius:18px;
  padding:14px;
  background:var(--card-soft);
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr;
  gap:12px;
  align-items:end;
}
.price-item-actions{margin-top:4px}
.price-item-msg{margin:0;min-height:20px;grid-column:1 / -1}

.admin-collapse{
  border:1px solid rgba(76,201,255,.16);
  border-radius:22px;
  background:var(--card);
  overflow:hidden;
  margin-bottom:18px;
}
.admin-collapse-summary{
  list-style:none;
  cursor:pointer;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.admin-collapse-summary::-webkit-details-marker{display:none}
.admin-collapse-summary h2{
  margin:0 0 4px;
  font-size:20px;
}
.collapse-tip{
  font-size:12px;
  color:var(--muted);
  background:rgba(76,201,255,.08);
  border-radius:999px;
  padding:8px 12px;
  white-space:nowrap;
}
.admin-collapse-body{
  padding:0 18px 18px;
  border-top:1px solid rgba(76,201,255,.12);
}

.site-footer{
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid rgba(76,201,255,.12);
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:18px;
  margin-bottom:16px;
}
.footer-logo{
  font-size:18px;
  font-weight:800;
  margin-bottom:6px;
}
.footer-desc,.footer-col a{
  color:var(--muted);
  font-size:13px;
}
.footer-title{
  font-weight:700;
  margin-bottom:6px;
}
.footer-col a{
  display:block;
  margin:4px 0;
}
.footer-bottom{
  padding-top:10px;
  border-top:1px solid rgba(76,201,255,.12);
  text-align:center;
  font-size:12px;
  color:var(--muted);
}

/* 首页当前套餐卡片 */
.selected-package-card{
  width:100%;
  border:1px solid var(--border);
  background:var(--card-soft);
  border-radius:18px;
  padding:18px;
  text-align:left;
  cursor:pointer;
  box-shadow:var(--shadow);
  color:var(--text);
}
.selected-package-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.selected-package-label{
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px;
}
.selected-package-name{
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}
.selected-package-arrow{
  font-size:13px;
  color:var(--muted);
  white-space:nowrap;
}
.selected-package-price{
  margin-top:14px;
  font-size:28px;
  font-weight:800;
}

/* 套餐选择小弹层 */
.package-picker-modal{
  width:min(420px,100%);
}
.package-picker-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.package-picker-item{
  width:100%;
  text-align:left;
  border:1px solid var(--border);
  background:var(--card-soft);
  border-radius:16px;
  padding:14px;
  cursor:pointer;
  color:var(--text);
}
.package-picker-item.active{
  border:2px solid var(--primary);
  background:linear-gradient(180deg,rgba(34,211,197,.08),rgba(76,201,255,.05));
}
.package-picker-item-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.package-picker-item-name{
  font-size:15px;
  font-weight:700;
}
.package-picker-item-price{
  font-size:24px;
  font-weight:800;
}

/* 悬浮语言球 */
.lang-fab-wrap{
  position:fixed;
  right:16px;
  bottom:18px;
  z-index:1200;
}
.lang-fab-menu{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:10px;
  align-items:flex-end;
}
.lang-fab-menu.hidden{
  display:none;
}
.lang-fab-option{
  min-width:140px;
  padding:10px 14px;
  border:none;
  border-radius:14px;
  cursor:pointer;
  background:var(--card-solid);
  color:var(--text);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  text-align:left;
  font-size:14px;
  font-weight:600;
}
.lang-fab-option.active{
  background:linear-gradient(135deg,rgba(34,211,197,.18),rgba(76,201,255,.16));
  border-color:rgba(34,211,197,.38);
}
.lang-fab{
  width:56px;
  height:56px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#04141a;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:800;
}
.lang-fab:hover{
  transform:translateY(-1px);
}

@media (max-width: 820px){
  .package-list,
  .order-meta,
  .footer-grid,
  .admin-inline-grid,
  .stats-grid,
  .price-item{
    grid-template-columns:1fr;
  }
}
@media (max-width: 700px){
  .form-grid{grid-template-columns:1fr}
  .hero-copy h1{font-size:26px}
  .btn{width:100%}
  .actions{flex-direction:column}
  .home-collapse summary,
  .admin-order-fold summary {
    padding: 16px;
  }
  .home-collapse-body,
  .admin-order-body {
    padding: 0 16px 16px;
  }
  .selected-package-name{
    font-size:18px;
  }
  .selected-package-price{
    font-size:24px;
  }
  .lang-fab-wrap{
    right:14px;
    bottom:14px;
  }
  .lang-fab{
    width:52px;
    height:52px;
    font-size:22px;
  }
  .lang-fab-option{
    min-width:128px;
    font-size:13px;
  }
}
/* ========== Floating Language Ball ========== */
.lang-switch{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  touch-action:none;
}

.lang-switch button{
  background:linear-gradient(135deg,#22d3c5,#4cc9ff);
  border:none;
  color:#fff;
  font-weight:700;
  font-size:14px;
  padding:10px 14px;
  border-radius:20px;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  opacity:.55;
  transition:all .25s ease;
}

.lang-switch button:hover{
  opacity:1;
  transform:scale(1.05);
}

.lang-menu{
  position:absolute;
  bottom:48px;
  right:0;
  background:#0b141b;
  border:1px solid #1f2f3a;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}

.lang-menu div{
  padding:10px 16px;
  cursor:pointer;
  font-size:14px;
  white-space:nowrap;
}

.lang-menu div:hover{
  background:#16222b;
}
