/* ========================================
   Stardew · 全局变量 & 基础
   ======================================== */
:root{
  --sky:#8fd3ff;
  --grass:#7bd36a;
  --wood:#8b5a2b;
  --wood-dark:#5d3a18;
  --paper:#fff3d6;
  --ink:#2b2b2b;
  --ok:#2ecc71;
  --warn:#f1c40f;
  --bad:#e74c3c;
  --radius-card: 18px;
  --shadow-card: 0 2px 8px rgba(0,0,0,.08), 0 8px 0 rgba(0,0,0,.13);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: "Trebuchet MS", "Microsoft YaHei", system-ui, sans-serif;
  color:var(--ink);
  background: linear-gradient(180deg, var(--sky) 0%, #cfefff 45%, var(--grass) 100%);
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ========================================
   装饰云背景
   ======================================== */
.bg-clouds{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    radial-gradient(circle at 20% 20%, #fff 0 24px, transparent 25px),
    radial-gradient(circle at 30% 22%, #fff 0 18px, transparent 19px),
    radial-gradient(circle at 75% 15%, #fff 0 26px, transparent 27px),
    radial-gradient(circle at 85% 16%, #fff 0 16px, transparent 17px);
}

/* ========================================
   登录面板（panel / panel-header / panel-body）
   ======================================== */
.panel{
  width:min(92vw, 460px);
  background:var(--paper);
  border:4px solid var(--wood-dark);
  border-radius:var(--radius-card);
  box-shadow: var(--shadow-card);
  overflow:hidden;
}

.panel-header{
  padding:14px 16px;
  background: linear-gradient(180deg, #b47a3b 0%, var(--wood) 100%);
  color:white;
  border-bottom:4px solid var(--wood-dark);
  border-radius: var(--radius-card) var(--radius-card) 0 0;
}
.panel-header h1{
  margin:0;
  font-size:20px;
  letter-spacing:.5px;
}
.panel-header .sub{
  margin-top:6px;
  font-size:12px;
  opacity:.9;
}

.panel-body{
  padding:16px;
}

/* ========================================
   表单元素
   ======================================== */
.field{
  margin-bottom:12px;
}
.label{
  font-size:13px;
  margin-bottom:6px;
  display:block;
}
.input{
  width:100%;
  padding:10px 12px;
  border:3px solid #d8c39a;
  border-radius:10px;
  background:#fffdf6;
  outline:none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.input:focus{
  border-color: var(--wood);
  box-shadow: 0 0 0 3px rgba(139,90,43,.12);
}

/* 各页面通用 input/select focus 光晕 */
input:focus, select:focus, textarea:focus {
  border-color: var(--wood) !important;
  box-shadow: 0 0 0 3px rgba(139,90,43,.12) !important;
  outline: none !important;
}

.row{
  display:flex;
  gap:10px;
  align-items:center;
}

/* ========================================
   主按钮
   ======================================== */
.pixel-btn{
  width:100%;
  padding:10px 12px;
  border:3px solid var(--wood-dark);
  border-radius:12px;
  background: linear-gradient(180deg, #ffd27d 0%, #ffb84d 100%);
  cursor:pointer;
  font-weight:700;
  box-shadow: 0 5px 0 rgba(0,0,0,.18);
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}
.pixel-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 7px 0 rgba(0,0,0,.18);
}
.pixel-btn:active{
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0,0,0,.18);
}

/* ========================================
   消息提示
   ======================================== */
.msg{
  display:none;
  margin:12px 0 0;
  padding:10px 12px;
  border-radius:10px;
  border:3px solid;
  font-size:13px;
}
.msg.ok{display:block; border-color:#1e8f4d; background:#eafff2;}
.msg.bad{display:block; border-color:#b73b2f; background:#ffe9e7;}
.small{
  font-size:12px;
  opacity:.85;
  margin-top:10px;
  line-height:1.5;
}
a{color:#1d6fa5; text-decoration:none}
a:hover{text-decoration:underline}

/* ========================================
   全局覆盖：卡片精致化（圆角 + 阴影升级）
   覆盖 HTML 内联 style 中的 border-radius:14px
   ======================================== */
.panel2, .leave-card, .bar, .topbar, .dash-wrap .card {
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-card) !important;
}
/* panel header 顶角对齐 */
.ph, .panel-header, .lh, .card-h {
  border-radius: var(--radius-card) var(--radius-card) 0 0 !important;
}

/* ========================================
   导航栏 sticky（添加新属性，不覆盖 flex 布局）
   ======================================== */
.bar, .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* ========================================
   mini 按钮触控优化 + hover 动画
   ======================================== */
.mini-btn {
  padding: 10px 14px !important;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  min-height: 38px;
}
.mini-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 0 rgba(0,0,0,.18) !important;
}
.mini-btn:active {
  transform: translateY(2px) !important;
  box-shadow: 0 2px 0 rgba(0,0,0,.18) !important;
}

/* 审批按钮（monitor_review） */
.btn {
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  min-height: 38px;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(2px); }

/* 表格内 mini 按钮 */
button.mini {
  min-height: 32px;
  padding: 6px 12px !important;
}

/* ========================================
   leave-card hover 轻浮（仅桌面）
   ======================================== */
@media (min-width: 860px) {
  .leave-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }
  .leave-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,.1), 0 11px 0 rgba(0,0,0,.13) !important;
  }
}

/* ========================================
   表格横向滚动容器
   ======================================== */
.tbl-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
}

/* ========================================
   状态 badge 精致化
   ======================================== */
.b {
  font-weight: 700 !important;
  transition: opacity 0.1s;
}

/* ========================================
   小屏断点（< 480px 手机）
   ======================================== */
@media (max-width: 480px) {
  /* 基础字号 */
  body { font-size: 14px; }

  /* 导航栏 */
  .bar, .topbar {
    padding: 8px 10px !important;
    margin-bottom: 10px !important;
    border-radius: 14px !important;
  }
  .bar .left .t { font-size: 14px !important; }
  .bar .right { gap: 6px !important; }
  .mini-btn { font-size: 12px !important; padding: 8px 10px !important; }

  /* 卡片内边距 */
  .ph, .lh { padding: 10px 12px !important; font-size: 14px !important; }
  .pb, .lb { padding: 10px 12px !important; }

  /* 表格字号 */
  table { font-size: 12px !important; }
  th, td { padding: 7px 8px !important; }

  /* 控件行自动换行 */
  .controls { flex-wrap: wrap !important; gap: 6px !important; }

  /* kv 信息格 */
  .meta { grid-template-columns: repeat(2, 1fr) !important; gap: 6px !important; }
  .kv { padding: 8px 10px !important; }
  .k { font-size: 11px !important; }
  .v { font-size: 13px !important; }

  /* 操作按钮区 */
  .actions, .btns { gap: 6px !important; }
  .btns .btn { flex: 1; }

  /* 页面容器边距 */
  .wrap { margin: 10px auto !important; }
}

/* ========================================
   滚动条美化（WebKit）
   ======================================== */
::-webkit-scrollbar { height: 6px; width: 6px; }
::-webkit-scrollbar-track { background: #f5ead6; border-radius: 3px; }
::-webkit-scrollbar-thumb { background: var(--wood); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--wood-dark); }
