:root{
  --wecom-blue:#007aff;
  --wecom-blue-light:rgba(0,122,255,.14);
  --bg-primary:#f2f2f7;
  --bg-secondary:rgba(255,255,255,.78);
  --bg-tertiary:rgba(255,255,255,.52);
  --text-title:#08090c;
  --text-primary:#1c1c1e;
  --text-secondary:#6b7280;
  --text-tertiary:#9ca3af;
  --border-color:rgba(15,23,42,.08);
  --divider-color:rgba(15,23,42,.06);
  --status-red:#ff3b30;
  --status-red-bg:rgba(255,59,48,.14);
  --status-orange:#ff9500;
  --status-orange-bg:rgba(255,149,0,.14);
  --status-yellow:#ffcc00;
  --status-yellow-bg:rgba(255,204,0,.14);
  --status-green:#34c759;
  --status-green-bg:rgba(52,199,89,.14);
  --status-blue:#007aff;
  --status-blue-bg:rgba(0,122,255,.14);
  --status-gray:#8e8e93;
  --status-gray-bg:rgba(142,142,147,.16);
  --shadow-float:0 24px 60px rgba(15,23,42,.10);
  --shadow-pressed:0 10px 28px rgba(15,23,42,.08);
  --shadow-glow:0 0 0 1px rgba(255,255,255,.5),0 18px 50px rgba(15,23,42,.12);
  --radius-sm:14px;
  --radius-md:22px;
  --radius-lg:28px;
  --radius-xl:36px
}
@media (prefers-color-scheme:dark){
  :root{
    --bg-primary:#000;
    --bg-secondary:rgba(28,28,30,.78);
    --bg-tertiary:rgba(28,28,30,.52);
    --text-title:#fff;
    --text-primary:#f5f5f7;
    --text-secondary:#c6c6cc;
    --text-tertiary:#8e8e93;
    --border-color:rgba(255,255,255,.08);
    --divider-color:rgba(255,255,255,.06);
    --shadow-float:0 24px 64px rgba(0,0,0,.46);
    --shadow-pressed:0 12px 28px rgba(0,0,0,.34);
    --shadow-glow:0 0 0 1px rgba(255,255,255,.08),0 22px 56px rgba(0,0,0,.48)
  }
}
*{
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  margin:0;
  padding:0
}
html{
  overflow-x:hidden
}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at top left,rgba(0,122,255,.10),transparent 28%),
    radial-gradient(circle at 85% 18%,rgba(52,199,89,.08),transparent 22%),
    radial-gradient(circle at 50% 100%,rgba(255,149,0,.09),transparent 24%),
    var(--bg-primary);
  color:var(--text-primary);
  -webkit-font-smoothing:antialiased;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;
  line-height:1.4;
  transition:background-color .35s;
  overflow-x:hidden
}
.page-container{
  max-width:1180px;
  margin:0 auto;
  padding:28px 20px 132px;
  animation:.45s cubic-bezier(.16,1,.3,1) forwards scaleInPos
}
@media (max-width:760px){
  .page-container{
    max-width:640px;
    padding:24px 16px 132px
  }
}
@keyframes scaleInPos{
  0%{opacity:0;transform:translateY(20px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.glass-panel{
  -webkit-backdrop-filter:blur(24px);
  backdrop-filter:blur(24px);
  background:var(--bg-secondary);
  border:1px solid var(--border-color);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-glow);
  padding:22px;
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s;
  position:relative;
  overflow:hidden
}
.glass-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.28),transparent 42%);
  pointer-events:none
}
.glass-panel.hoverable{
  cursor:pointer
}
.glass-panel.hoverable:hover{
  transform:translateY(-4px) scale(1.005);
  box-shadow:0 30px 72px rgba(15,23,42,.14)
}
.glass-panel.hoverable:active{
  box-shadow:var(--shadow-pressed);
  transform:translateY(0) scale(.985)
}
.flex-row{display:flex;align-items:center}
.flex-col{display:flex;flex-direction:column}
.justify-between{display:flex;justify-content:space-between;align-items:center}
.gap-2{gap:8px}
.gap-3{gap:12px}
.gap-4{gap:16px}
.gap-5{gap:24px}
.mt-1{margin-top:4px}
.mt-2{margin-top:8px}
.mt-3{margin-top:16px}
.mt-4{margin-top:24px}
.mt-5{margin-top:32px}
.mb-2{margin-bottom:8px}
.mb-3{margin-bottom:16px}
.status-tag{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  letter-spacing:.4px;
  font-size:11px;
  font-weight:700
}
.tag-red{background:var(--status-red-bg);color:var(--status-red)}
.tag-orange{background:var(--status-orange-bg);color:var(--status-orange)}
.tag-yellow{background:var(--status-yellow-bg);color:var(--status-orange)}
.tag-green{background:var(--status-green-bg);color:var(--status-green)}
.tag-gray{background:var(--status-gray-bg);color:var(--text-secondary)}
.tag-blue{background:var(--status-blue-bg);color:var(--wecom-blue)}
.section-title{
  color:var(--text-title);
  letter-spacing:-.8px;
  margin-bottom:18px;
  padding-left:4px;
  font-size:22px;
  font-weight:800
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:999px;
  padding:12px 24px;
  -webkit-appearance:none;
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  transition:all .22s cubic-bezier(.16,1,.3,1)
}
.btn-primary{
  background:linear-gradient(145deg,#0f172a,#111827);
  color:#f8fafc;
  box-shadow:0 16px 28px rgba(15,23,42,.18)
}
@media (prefers-color-scheme:dark){
  .btn-primary{
    color:#000;
    background:linear-gradient(145deg,#fff,#d1d5db)
  }
}
.btn-primary:active{opacity:.86;transform:scale(.97)}
.btn-secondary{
  background:rgba(15,23,42,.06);
  color:var(--text-primary)
}
@media (prefers-color-scheme:dark){
  .btn-secondary{
    background:rgba(255,255,255,.10)
  }
}
.btn-secondary:active{
  background:var(--border-color);
  transform:scale(.97)
}
.btn-danger{background:var(--status-red-bg);color:var(--status-red)}
.btn.small-btn{
  padding:8px 16px;
  border-radius:999px;
  font-size:13px
}
.empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:56px 20px;
  text-align:center;
  color:var(--text-tertiary)
}
.empty-icon{
  margin-bottom:12px;
  font-size:48px;
  opacity:.6
}
.app-wrapper[data-v-a7eea56f]{
  min-height:100vh;
  position:relative
}
.floating-nav-container[data-v-a7eea56f]{
  position:fixed;
  left:0;
  right:0;
  bottom:max(env(safe-area-inset-bottom,18px),18px);
  display:flex;
  justify-content:center;
  padding:0 18px;
  pointer-events:none;
  z-index:1000
}
.bottom-nav[data-v-a7eea56f]{
  pointer-events:auto;
  display:flex;
  align-items:center;
  justify-content:space-around;
  width:min(100%,430px);
  height:68px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(255,255,255,.66);
  -webkit-backdrop-filter:blur(30px);
  backdrop-filter:blur(30px);
  box-shadow:0 18px 36px rgba(15,23,42,.14)
}
@media (prefers-color-scheme:dark){
  .bottom-nav[data-v-a7eea56f]{
    background:rgba(28,28,30,.76);
    border-color:rgba(255,255,255,.10);
    box-shadow:0 18px 40px rgba(0,0,0,.42)
  }
}
.nav-item[data-v-a7eea56f]{
  position:relative;
  display:flex;
  flex:1;
  height:100%;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-decoration:none
}
.nav-icon-wrap[data-v-a7eea56f]{
  position:relative;
  width:26px;
  height:26px;
  color:var(--text-secondary);
  transition:transform .36s cubic-bezier(.16,1,.3,1),color .24s
}
.icon-svg[data-v-a7eea56f]{width:100%;height:100%}
.nav-text[data-v-a7eea56f]{
  position:absolute;
  bottom:6px;
  margin-top:4px;
  font-size:10px;
  font-weight:700;
  color:var(--text-tertiary);
  opacity:0;
  transform:translateY(6px);
  transition:all .28s cubic-bezier(.16,1,.3,1)
}
.nav-item.router-link-active .nav-icon-wrap[data-v-a7eea56f]{
  color:var(--text-title);
  transform:translateY(-8px) scale(1.08)
}
.nav-item.router-link-active .nav-icon-wrap[data-v-a7eea56f]:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:38px;
  height:38px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,122,255,.30) 0%,transparent 72%);
  filter:blur(10px);
  z-index:-1
}
.nav-item.router-link-active .nav-text[data-v-a7eea56f]{
  opacity:1;
  color:var(--text-title);
  transform:translateY(0)
}
.fade-slide-enter-active[data-v-a7eea56f],.fade-slide-leave-active[data-v-a7eea56f]{
  transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1)
}
.fade-slide-enter-from[data-v-a7eea56f]{
  opacity:0;
  transform:scale(.985) translateY(10px)
}
.fade-slide-leave-to[data-v-a7eea56f]{
  opacity:0;
  transform:scale(.985) translateY(-10px)
}
