:root{
  --fs-bg: #F5F6F7;
  --fs-card: #FFFFFF;
  --fs-text: #1F2329;
  --fs-sub: #646A73;
  --fs-border: #E5E6EB;
  --fs-primary: #3370FF;
  --fs-primary-2: #E8F0FF;
  --fs-radius: 12px;
  --fs-shadow: 0 6px 24px rgba(31,35,41,.06);
  --fs-side: 248px;
}

/* 全局背景 */
body{
  background: var(--fs-bg);
  color: var(--fs-text);
}

/* Public 顶部导航 */
.feishu-topnav{
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--fs-border);
}

/* App Shell */
.feishu-shell{
  display: flex;
  min-height: 100vh;
}
.feishu-side{
  width: var(--fs-side);
  background: #fff;
  border-right: 1px solid var(--fs-border);
  padding: 16px 12px;
  position: sticky;
  top: 0;
  height: 100vh;
}
.feishu-side__brand{
  display:flex; align-items:center; gap:10px;
  padding: 10px 10px 14px 10px;
  border-bottom: 1px solid var(--fs-border);
  margin-bottom: 12px;
}
.feishu-side__logo{
  width: 28px;
  height: 28px;
  border-radius: 8px;

  background: url("./logo.png") center/contain no-repeat;
}

.feishu-side__name{
  font-weight: 700;
  font-size: 14px;
}
.feishu-side__title{
  font-size: 12px;
  color: var(--fs-sub);
  padding: 10px;
}
.feishu-navitem{
  display:flex; align-items:center;
  gap:10px;
  padding: 10px 10px;
  border-radius: 10px;
  color: var(--fs-text);
  text-decoration: none;
  margin: 4px 6px;
}
.feishu-navitem:hover{
  background: #F7F8FA;
}
.feishu-navitem.active{
  background: var(--fs-primary-2);
  color: var(--fs-primary);
  font-weight: 600;
}

/* Main */
.feishu-main{
  flex: 1;
  display: flex;
  flex-direction: column;
}
.feishu-topbar{
  height: 56px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 0 18px;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--fs-border);
  position: sticky;
  top: 0;
  z-index: 5;
}
.feishu-content{
  padding: 18px;
}

/* 卡片统一 */
.card{
  border: 1px solid var(--fs-border) !important;
  border-radius: var(--fs-radius) !important;
  box-shadow: var(--fs-shadow);
}
.feishu-card{
  background: var(--fs-card);
  border: 1px solid var(--fs-border);
  border-radius: var(--fs-radius);
  box-shadow: var(--fs-shadow);
  padding: 18px;
}
.feishu-card--lg{ padding: 22px; }
.feishu-card__title{
  font-weight: 700;
  margin-bottom: 10px;
}

/* 按钮更像飞书 */
.btn-primary{
  background: var(--fs-primary);
  border-color: var(--fs-primary);
}
.btn-outline-primary{
  border-color: var(--fs-primary);
  color: var(--fs-primary);
}
.btn-outline-primary:hover{
  background: var(--fs-primary);
  color:#fff;
}

/* 表格更清爽 */
.table{
  --bs-table-bg: transparent;
}
.table thead th{
  color: var(--fs-sub);
  font-weight: 600;
  border-bottom: 1px solid var(--fs-border);
}
.table td{
  border-top: 1px solid #F0F1F2;
}

/* 首页 Hero */
.feishu-hero{
  display:flex;
  gap: 18px;
  align-items: stretch;
}
.feishu-hero__left{
  flex: 1;
  padding: 6px;
}
.feishu-hero__title{
  font-size: 34px;
  font-weight: 800;
  letter-spacing: .2px;
}
.feishu-hero__desc{
  margin-top: 10px;
  color: var(--fs-sub);
  font-size: 15px;
  line-height: 1.7;
}
.feishu-hero__right{
  width: 420px;
}
.feishu-kv__item{
  display:flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px dashed #EEE;
}
.feishu-kv__k{ color: var(--fs-sub); font-size: 13px; }
.feishu-kv__v{ font-size: 13px; }

/* 移动端 */
/* ===== Mobile Drawer ===== */
@media (max-width: 992px){
  :root{ --fs-side: 86vw; }

  .feishu-side{
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    transform: translateX(-105%);
    transition: transform .22s ease;
    z-index: 1050;
    box-shadow: 0 16px 48px rgba(0,0,0,.18);
  }
  body.side-open .feishu-side{
    transform: translateX(0);
  }

  /* 遮罩层 */
  .feishu-backdrop{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 1040;
  }
  body.side-open .feishu-backdrop{
    display: block;
  }

  .feishu-content{
    padding: 14px;
  }

  /* Topbar 更紧凑 */
  .feishu-topbar{
    padding: 0 12px;
  }
  .feishu-topbar__left{
    display:flex;
    align-items:center;
    gap:10px;
  }

  /* 卡片/表单更紧凑 */
  .card, .feishu-card{
    border-radius: 12px !important;
  }

  /* 按钮组自动换行 */
  .d-flex.gap-2, .d-flex.gap-3{
    flex-wrap: wrap;
  }

  /* 表格按钮列不要横向溢出 */
  .table td .btn{
    margin-bottom: 6px;
  }
}


.feishu-side__section--full{
  display: flex;
  flex-direction: column;
  height: calc(100vh - 160px); /* 80px 约等于 brand 区高度，按你实际可微调 */
}
.feishu-side__menu{
  flex: 1;
}
.feishu-side__bottom{
  padding: 8px 6px 2px 6px;
  border-top: 1px solid var(--fs-border);
  margin-top: 10px;
}

.feishu-ico{
  width: 18px;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.feishu-navitem--danger{
  color: #D92D20;
}
.feishu-navitem--danger:hover{
  background: rgba(217,45,32,.08);
  color: #D92D20;
}
.feishu-navitem--danger.active{
  background: rgba(217,45,32,.12);
  color: #D92D20;
  font-weight: 700;
}

