/* 光年风格后台布局样式（独立，无外部依赖，仅依赖 Bootstrap + Bootstrap Icons） */
:root{
  --ly-primary:#4c84ff;
  --ly-primary-d:#3a6fd8;
  --ly-sidebar:#1f2336;
  --ly-nav:#aab0c6;
  --ly-nav-hover:#ffffff;
  --ly-bg:#f2f3f7;
  --ly-header:#ffffff;
  --ly-border:#e9ebf2;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--ly-bg);
  color:#3a3f55;
  font-size:14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
}
a{text-decoration:none;}

.lyear-layout{display:flex;min-height:100vh;}

/* ===== 左侧边栏 ===== */
.lyear-aside{
  width:230px;flex:0 0 230px;
  background:linear-gradient(180deg,#232844 0%,#1b1f30 100%);
  color:var(--ly-nav);
  display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;
}
.lyear-logo{
  display:flex;align-items:center;gap:10px;
  height:62px;padding:0 20px;
  font-size:17px;font-weight:600;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.06);
  white-space:nowrap;
}
.lyear-logo i{font-size:22px;color:var(--ly-primary);}
.lyear-nav{padding:14px 0;overflow-y:auto;}
.lyear-nav-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 22px;color:var(--ly-nav);
  font-size:14.5px;border-left:3px solid transparent;
  transition:all .15s ease;
}
.lyear-nav-item i{font-size:17px;width:20px;text-align:center;opacity:.9;}
.lyear-nav-item:hover{background:rgba(255,255,255,.05);color:var(--ly-nav-hover);}
.lyear-nav-item.active{
  background:rgba(76,132,255,.16);color:#fff;
  border-left-color:var(--ly-primary);font-weight:600;
}

/* ===== 主区域 ===== */
.lyear-wrap{flex:1;min-width:0;display:flex;flex-direction:column;}
.lyear-header{
  height:62px;background:var(--ly-header);
  border-bottom:1px solid var(--ly-border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;position:sticky;top:0;z-index:20;
}
.lyear-header-title{font-size:17px;font-weight:600;color:#2c3148;}
.lyear-header-right{display:flex;align-items:center;gap:12px;}
.lyear-main{flex:1;padding:24px;}
.lyear-content{max-width:1180px;margin:0 auto;}

/* ===== 卡片 / 表格增强 ===== */
.lyear-main .card{border:none;border-radius:12px;box-shadow:0 2px 10px rgba(20,30,60,.06);}
.lyear-main .card-header{
  background:#fff;border-bottom:1px solid var(--ly-border);
  border-radius:12px 12px 0 0!important;font-weight:600;
}
.lyear-main .table{font-size:13.5px;margin-bottom:0;}
.lyear-main .table th{font-weight:600;color:#6b7194;border-bottom-width:1px;}
.lyear-main .table td{vertical-align:middle;}
.btn-primary{background:var(--ly-primary);border-color:var(--ly-primary);}
.btn-primary:hover{background:var(--ly-primary-d);border-color:var(--ly-primary-d);}
.form-control:focus,.form-select:focus{
  border-color:var(--ly-primary);
  box-shadow:0 0 0 .2rem rgba(76,132,255,.18);
}

/* ===== 登录页 ===== */
.lyear-login-body{
  background:linear-gradient(135deg,#232844 0%,#3a4b8c 100%);
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
}
.lyear-login-card{width:100%;max-width:400px;background:#fff;border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.25);overflow:hidden;}
.lyear-login-head{background:linear-gradient(135deg,#232844,#3a4b8c);color:#fff;padding:26px 28px;}
.lyear-login-head h4{margin:0;font-weight:600;}
.lyear-login-head p{margin:6px 0 0;opacity:.8;font-size:13px;}
.lyear-login-body .card-body{padding:26px 28px;}

/* ===== 数据表格（光年风卡片表格） ===== */
.lyear-card{
  background:#fff;border-radius:12px;
  box-shadow:0 2px 10px rgba(20,30,60,.06);
  overflow:hidden;margin-bottom:20px;
}
.lyear-card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid var(--ly-border);
  font-weight:600;color:#2c3148;
}
.lyear-table{
  width:100%;border-collapse:separate;border-spacing:0;
  font-size:13.5px;margin:0;
}
.lyear-table thead th{
  background:#f7f8fb;color:#6b7194;font-weight:600;text-align:left;
  padding:12px 16px;border-bottom:1px solid var(--ly-border);
  white-space:nowrap;
}
.lyear-table tbody td{
  padding:12px 16px;border-bottom:1px solid #f0f1f6;
  color:#3a3f55;vertical-align:middle;
}
.lyear-table tbody tr:last-child td{border-bottom:none;}
.lyear-table tbody tr:hover{background:#f7f9ff;}
.lyear-table td.text-nowrap, .lyear-table th.text-nowrap{white-space:nowrap;}

/* 徽标统一为圆角胶囊 */
.lyear-content .badge{border-radius:20px;font-weight:500;padding:.35em .8em;}
/* 操作按钮组间距 */
.lyear-table td.text-nowrap > *{margin:0 4px 4px 0;}
.lyear-table td.text-nowrap > form{margin:0 4px 4px 0;}

/* 空状态 */
.lyear-empty{padding:40px 0;text-align:center;color:#9aa0b5;font-size:14px;}

/* ===== 响应式：窄屏侧边栏转顶部 ===== */
@media (max-width:768px){
  .lyear-layout{flex-direction:column;}
  .lyear-aside{width:100%;flex-basis:auto;height:auto;position:static;}
  .lyear-logo{height:54px;}
  .lyear-nav{flex-direction:row;flex-wrap:wrap;padding:8px;}
  .lyear-nav-item{border-left:none;border-bottom:3px solid transparent;padding:10px 14px;}
  .lyear-nav-item.active{border-left:none;border-bottom-color:var(--ly-primary);}
  .lyear-main{padding:16px;}
  .lyear-header{padding:0 16px;}
}
