/* ===== 暖心 · 公司内部助手 — 设计系统 ===== */
:root{
  --warm:#FF7A45;          /* 主色：暖橙 */
  --warm-soft:#FFB088;
  --warm-bg:#FFF6F1;       /* 页面背景 */
  --cream:#FFFDFB;         /* 卡片底色 */
  --ink:#2C2622;           /* 主文字 */
  --ink-2:#7A6F68;         /* 次文字 */
  --ink-3:#A89C94;         /* 弱文字 */
  --line:#F1E7E0;          /* 分割线 */
  --green:#3FB98C;         /* 关怀绿 */
  --blue:#5B9DF9;
  --gold:#F2B33D;
  --shadow:0 8px 24px rgba(255,122,69,.10);
  --shadow-sm:0 4px 12px rgba(44,38,34,.06);
  --radius:18px;
  --radius-sm:12px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:#EDE3DC;color:var(--ink);
  display:flex;justify-content:center;min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.phone{
  width:100%;max-width:430px;min-height:100vh;
  background:var(--warm-bg);position:relative;
  display:flex;flex-direction:column;
  box-shadow:0 0 40px rgba(0,0,0,.08);overflow:hidden;
}
.app{flex:1;overflow-y:auto;padding-bottom:84px;-webkit-overflow-scrolling:touch;}

/* ===== 顶部状态感标题 ===== */
.topbar{
  padding:calc(env(safe-area-inset-top) + 18px) 20px 14px;
  background:linear-gradient(135deg,var(--warm),#FF9A6B);
  color:#fff;position:sticky;top:0;z-index:20;
}
.topbar .hello{font-size:20px;font-weight:700;letter-spacing:.5px;}
.topbar .sub{font-size:13px;opacity:.9;margin-top:4px;}
.topbar .date{font-size:12px;opacity:.85;margin-top:2px;}

/* ===== 通用卡片 ===== */
.card{
  background:var(--cream);border-radius:var(--radius);
  padding:16px;box-shadow:var(--shadow-sm);margin:14px 16px;
}
.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.card-title h3{margin:0;font-size:15px;font-weight:700;}
.card-title .more{font-size:12px;color:var(--warm);}

/* ===== 天气迷你卡（首页）===== */
.wx-mini{
  margin:14px 16px;padding:16px;border-radius:var(--radius);color:#fff;
  background:linear-gradient(120deg,#6FB1FC,#A6C8FF);
  box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.wx-mini.night{background:linear-gradient(120deg,#4B5E8A,#7C8BB5);}
.wx-mini .city{font-size:13px;opacity:.9;}
.wx-mini .temp{font-size:40px;font-weight:800;line-height:1.1;margin:2px 0;display:flex;align-items:flex-start;}
.wx-mini .temp small{font-size:16px;font-weight:600;margin-top:6px;}
.wx-mini .cond{font-size:13px;opacity:.95;}
.wx-mini .tip{margin-top:10px;font-size:12.5px;background:rgba(255,255,255,.18);padding:7px 10px;border-radius:10px;display:inline-block;}
.wx-mini .emoji{position:absolute;right:14px;top:10px;font-size:54px;opacity:.9;}

/* ===== 快捷入口 ===== */
.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:12px;margin:14px 16px;}
.quick .q{
  background:var(--cream);border-radius:var(--radius-sm);padding:12px 4px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .12s;
}
.quick .q:active{transform:scale(.94);}
.quick .q .ic{font-size:24px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--warm-bg);}
.quick .q span{font-size:11.5px;color:var(--ink-2);}

/* ===== 入职进度卡 ===== */
.onb-bar{height:8px;border-radius:8px;background:var(--line);overflow:hidden;margin:8px 0 6px;}
.onb-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--warm),var(--warm-soft));border-radius:8px;transition:width .4s;}
.onb-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-2);}

/* ===== 每日贴士 ===== */
.tip-card{display:flex;gap:12px;align-items:center;}
.tip-card .ic{font-size:30px;}
.tip-card .txt{font-size:13.5px;color:var(--ink-2);line-height:1.6;}

/* ===== 推荐攻略 ===== */
.guide-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.guide-row:last-child{border-bottom:none;}
.guide-row .thumb{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;}
.guide-row .info{flex:1;min-width:0;}
.guide-row .info h4{margin:0 0 4px;font-size:14.5px;font-weight:600;}
.guide-row .info p{margin:0;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.guide-row .tag{font-size:10.5px;color:var(--warm);background:var(--warm-bg);padding:2px 7px;border-radius:6px;display:inline-block;margin-top:6px;}

/* ===== 底部导航 ===== */
.tabbar{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:430px;z-index:30;
  display:flex;background:rgba(255,253,251,.96);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  padding:8px 0 calc(env(safe-area-inset-bottom) + 8px);
}
.tabbar .tab{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  font-size:11px;color:var(--ink-3);cursor:pointer;transition:color .15s;
}
.tabbar .tab .ic{font-size:21px;line-height:1;}
.tabbar .tab.active{color:var(--warm);font-weight:600;}

/* ===== 列表 / 分类 ===== */
.section-title{padding:18px 18px 6px;font-size:17px;font-weight:800;}
.section-title small{font-size:12px;color:var(--ink-3);font-weight:400;margin-left:6px;}
.chips{display:flex;gap:10px;padding:12px 16px;overflow-x:auto;}
.chips .chip{
  flex-shrink:0;padding:7px 15px;border-radius:20px;background:var(--cream);
  font-size:13px;color:var(--ink-2);box-shadow:var(--shadow-sm);cursor:pointer;border:1px solid transparent;
}
.chips .chip.active{background:var(--warm);color:#fff;box-shadow:var(--shadow);}

/* ===== 详情页 ===== */
.detail{padding:0 0 30px;}
.detail .hero{padding:calc(env(safe-area-inset-top) + 22px) 20px 20px;color:#fff;position:relative;}
.detail .hero .back{font-size:22px;cursor:pointer;position:absolute;top:calc(env(safe-area-inset-top) + 16px);left:16px;}
.detail .hero h1{margin:18px 0 0;font-size:22px;font-weight:800;}
.detail .hero .meta{font-size:12px;opacity:.9;margin-top:8px;}
.detail .body{padding:18px 20px;font-size:14.5px;line-height:1.85;color:var(--ink);}
.detail .body h3{font-size:15px;margin:20px 0 8px;}
.detail .body p{margin:0 0 12px;color:var(--ink-2);}
.detail .body ul{padding-left:18px;color:var(--ink-2);margin:0 0 12px;}
.detail .body li{margin-bottom:6px;}

/* ===== 入职清单 ===== */
.phase{padding:14px 16px;}
.phase .ph-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.phase .ph-head .dot{width:30px;height:30px;border-radius:50%;background:var(--warm);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
.phase .ph-head h3{margin:0;font-size:15px;}
.phase .ph-head .st{margin-left:auto;font-size:11px;color:var(--green);}
.check{
  display:flex;align-items:flex-start;gap:10px;padding:11px 12px;background:var(--cream);
  border-radius:var(--radius-sm);margin-bottom:9px;box-shadow:var(--shadow-sm);cursor:pointer;
}
.check .box{width:20px;height:20px;border-radius:6px;border:2px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;margin-top:1px;}
.check.done .box{background:var(--green);border-color:var(--green);}
.check.done .ct{color:var(--ink-3);text-decoration:line-through;}
.check .ct{font-size:13.5px;color:var(--ink);line-height:1.5;flex:1;}
.check .ct small{display:block;color:var(--ink-3);font-size:11.5px;margin-top:2px;}

/* ===== 天气页 ===== */
.wx-hero{padding:calc(env(safe-area-inset-top) + 24px) 20px 22px;color:#fff;position:relative;overflow:hidden;}
.wx-hero .loc{font-size:15px;opacity:.95;display:flex;align-items:center;gap:6px;}
.wx-hero .big{font-size:64px;font-weight:800;line-height:1;margin:8px 0 0;display:flex;align-items:flex-start;}
.wx-hero .big small{font-size:22px;font-weight:600;margin-top:10px;}
.wx-hero .c2{font-size:15px;margin-top:2px;}
.wx-hero .emoji{position:absolute;right:18px;top:48px;font-size:80px;opacity:.92;}
.wx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 16px;}
.wx-cell{background:var(--cream);border-radius:var(--radius-sm);padding:12px;text-align:center;box-shadow:var(--shadow-sm);}
.wx-cell .k{font-size:11px;color:var(--ink-3);}
.wx-cell .v{font-size:16px;font-weight:700;margin-top:4px;}
.forecast{display:flex;gap:8px;overflow-x:auto;padding:14px 16px;margin-top:4px;}
.fday{flex:1;min-width:62px;background:var(--cream);border-radius:var(--radius-sm);padding:12px 6px;text-align:center;box-shadow:var(--shadow-sm);}
.fday .d{font-size:12px;color:var(--ink-2);}
.fday .e{font-size:26px;margin:6px 0;}
.fday .t{font-size:13px;font-weight:700;}
.fday .t small{color:var(--ink-3);font-weight:400;}

/* ===== 我的 ===== */
.profile-head{background:linear-gradient(135deg,var(--warm),#FF9A6B);color:#fff;padding:calc(env(safe-area-inset-top) + 30px) 20px 26px;display:flex;align-items:center;gap:16px;}
.avatar{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:30px;border:2px solid rgba(255,255,255,.5);}
.profile-head .nm{font-size:19px;font-weight:700;}
.profile-head .rl{font-size:12.5px;opacity:.92;margin-top:3px;}
.menu{margin:16px;}
.menu .mi{display:flex;align-items:center;gap:13px;padding:15px 16px;background:var(--cream);border-radius:var(--radius-sm);margin-bottom:10px;box-shadow:var(--shadow-sm);cursor:pointer;}
.menu .mi .ic{font-size:20px;width:38px;height:38px;border-radius:11px;background:var(--warm-bg);display:flex;align-items:center;justify-content:center;}
.menu .mi .lb{flex:1;font-size:14px;}
.menu .mi .ar{color:var(--ink-3);font-size:16px;}
.switch{width:44px;height:26px;border-radius:13px;background:var(--line);position:relative;transition:background .2s;}
.switch.on{background:var(--green);}
.switch i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.switch.on i{left:21px;}

/* ===== 空/提示 ===== */
.empty{text-align:center;color:var(--ink-3);padding:40px 20px;font-size:13px;}

/* ===== 进场动画 ===== */
.view{animation:fade .28s ease;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ===== 内嵌网页视图（入职指引 / 审批流程）===== */
.view.webview{height:100%;display:flex;flex-direction:column;padding-bottom:0;}
.view.webview .topbar{position:sticky;top:0;flex-shrink:0;}
.web-frame{flex:1;width:100%;border:0;background:#fff;min-height:0;}
.wb-open{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:14px;font-size:12.5px;color:#fff;background:rgba(255,255,255,.22);padding:5px 11px;border-radius:14px;cursor:pointer;}
.wb-open:active{background:rgba(255,255,255,.36);}

/* ===== 登录 / 表单 ===== */
.form{display:flex;flex-direction:column;gap:12px;margin-top:6px;}
.form-hint{font-size:12.5px;color:var(--warm);background:var(--warm-bg);padding:8px 10px;border-radius:10px;margin-bottom:4px;}
.form input{
  width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;
  font-size:15px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s;
}
.form input:focus{border-color:var(--warm);}
.btn{
  width:100%;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--warm),#FF9A6B);box-shadow:var(--shadow);cursor:pointer;
  transition:transform .12s;
}
.btn:active{transform:scale(.98);}
.form-err{color:#E2613B;font-size:12.5px;min-height:16px;}

/* ===== 职员管理（管理员）===== */
.staff-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);}
.staff-row:last-child{border-bottom:none;}
.staff-row .av{width:42px;height:42px;border-radius:50%;background:var(--warm-bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.staff-row .info{flex:1;min-width:0;}
.staff-row .info h4{margin:0;font-size:14.5px;font-weight:600;}
.staff-row .info p{margin:2px 0 0;font-size:12px;color:var(--ink-3);}
.staff-row .role{font-size:10.5px;padding:2px 8px;border-radius:6px;background:var(--warm-bg);color:var(--warm);}
.staff-row .del{color:var(--ink-3);font-size:18px;padding:6px 8px;cursor:pointer;}
.add-staff{margin-top:14px;}
.add-staff .form{background:var(--warm-bg);padding:14px;border-radius:var(--radius-sm);}

/* 登录页右上角齿轮（服务器设置） */
.gear{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:16px;font-size:20px;cursor:pointer;opacity:.8;z-index:5;}

/* 服务器地址弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:99;padding:24px;}
.modal-box{background:#fff;border-radius:18px;padding:20px;width:100%;max-width:320px;box-shadow:var(--shadow);animation:fade .2s ease;}
.modal-box h3{margin:0 0 6px;font-size:17px;}
.modal-tip{font-size:12px;color:var(--ink-3);margin:0 0 12px;line-height:1.5;}
.modal-input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-size:15px;outline:none;box-sizing:border-box;}
.modal-input:focus{border-color:var(--warm);}
.modal-actions{display:flex;gap:10px;margin-top:14px;}
.modal-actions .btn{flex:1;}
.btn-ghost{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:12px;font-size:14px;color:var(--ink-3);cursor:pointer;}

/* 申请审核列表 */
.app-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);}
.app-row:last-child{border-bottom:none;}
.app-row .av{width:42px;height:42px;border-radius:50%;background:var(--warm-bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.app-row .info{flex:1;min-width:0;}
.app-row .info h4{margin:0;font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.app-row .info p{margin:2px 0 0;font-size:12px;color:var(--ink-3);}
.app-edit{display:flex;gap:8px;margin-top:8px;}
.app-edit input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:10px;padding:9px 10px;font-size:13px;outline:none;}
.app-edit input:focus{border-color:var(--warm);}
.app-actions{display:flex;gap:8px;margin-top:8px;}
.btn-mini{flex:1;border:none;border-radius:10px;padding:9px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;}
.btn-mini.ok{background:linear-gradient(135deg,#34C759,#2FB24C);}
.btn-mini.no{background:linear-gradient(135deg,#FF8A65,#F4603E);}
.app-reason{margin-top:6px;font-size:12px;color:#C0392B;}

/* 轻提示 */
.toast{position:fixed;left:50%;bottom:64px;transform:translateX(-50%);background:rgba(0,0,0,.8);color:#fff;padding:10px 16px;border-radius:20px;font-size:13px;z-index:999;animation:fade .2s ease;}

/* ===== 攻略详情：流程表格 ===== */
.gt{width:100%;border-collapse:collapse;margin:10px 0;font-size:12.5px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.gt th,.gt td{border:1px solid var(--line);padding:8px 9px;text-align:left;vertical-align:top;line-height:1.45;}
.gt thead th{background:var(--warm-bg);color:var(--ink);font-weight:700;}
.gt tbody tr:nth-child(even){background:#FFF9F5;}

/* ===== 交流圈 ===== */
.circle-compose{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15;}
.circle-compose .me{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--warm),#FF9A6B);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.circle-compose .box{flex:1;}
.circle-compose textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;font-size:14px;font-family:inherit;resize:none;outline:none;background:#fff;line-height:1.5;max-height:140px;}
.circle-compose textarea:focus{border-color:var(--warm);}
.circle-compose .row{display:flex;justify-content:flex-end;align-items:center;margin-top:8px;gap:10px;}
.circle-compose .cnt{font-size:12px;color:var(--ink-3);}
.circle-send{border:none;background:linear-gradient(135deg,var(--warm),#FF9A6B);color:#fff;font-weight:700;font-size:14px;padding:8px 18px;border-radius:20px;cursor:pointer;}
.circle-send:disabled{opacity:.5;cursor:default;}

.post{background:var(--cream);border-radius:var(--radius);margin:12px 16px;padding:14px;box-shadow:var(--shadow-sm);}
.post .head{display:flex;gap:10px;align-items:center;}
.post .av{width:40px;height:40px;border-radius:50%;background:var(--warm-bg);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;color:var(--warm);font-weight:700;}
.post .meta{flex:1;min-width:0;}
.post .meta .nm{font-size:14.5px;font-weight:700;}
.post .meta .sub{font-size:11.5px;color:var(--ink-3);margin-top:1px;}
.post .text{font-size:14.5px;line-height:1.6;margin:10px 0 6px;white-space:pre-wrap;word-break:break-word;}
.post .acts{display:flex;gap:18px;align-items:center;margin-top:6px;}
.post .act{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--ink-2);background:none;border:none;cursor:pointer;padding:4px 2px;}
.post .act.liked{color:#FF5A5F;font-weight:700;}
.post .act .ic{font-size:15px;}
.post .cmts{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px;display:none;}
.post .cmts.open{display:block;}
.cmt{display:flex;gap:8px;padding:7px 0;align-items:flex-start;}
.cmt .cav{width:30px;height:30px;border-radius:50%;background:var(--warm-bg);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--warm);font-weight:700;flex-shrink:0;}
.cmt .ci{flex:1;min-width:0;}
.cmt .ci .cn{font-size:12.5px;font-weight:700;}
.cmt .ci .ct{font-size:13px;line-height:1.5;margin-top:1px;white-space:pre-wrap;word-break:break-word;}
.cmt .ci .ct .sub{font-size:11px;color:var(--ink-3);font-weight:400;margin-left:6px;}
.cmt-input{display:flex;gap:8px;margin-top:8px;}
.cmt-input input{flex:1;border:1.5px solid var(--line);border-radius:18px;padding:8px 12px;font-size:13px;outline:none;font-family:inherit;}
.cmt-input input:focus{border-color:var(--warm);}
.cmt-input button{border:none;background:var(--warm);color:#fff;font-weight:700;font-size:13px;padding:0 14px;border-radius:18px;cursor:pointer;}

/* ===== 交流圈：图片预览 / 工具 ===== */
.circle-compose .box{position:relative;}
.circle-compose .tools{display:flex;gap:6px;}
.circle-compose .tool{border:1.5px solid var(--line);background:#fff;border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;}
.circle-compose .tool:active{transform:scale(.94);}
.c-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.pthumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--line);}
.pthumb img{width:100%;height:100%;object-fit:cover;}
.pthumb .px{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:13px;line-height:18px;text-align:center;cursor:pointer;}
/* 表情面板 */
.emoji-pop{position:absolute;left:0;right:0;bottom:100%;margin-bottom:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:180px;overflow:auto;box-shadow:var(--shadow-sm);z-index:30;}
.emoji-pop .e{font-size:18px;text-align:center;cursor:pointer;border-radius:8px;padding:2px 0;}
.emoji-pop .e:active{background:var(--warm-bg);}
/* @ 候选 */
.mention-pop{position:absolute;left:0;right:0;bottom:100%;margin-bottom:8px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);z-index:30;max-height:240px;overflow:auto;}
.mi-item{padding:9px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.mi-item:hover{background:var(--warm-bg);}
.mi-item b{font-size:13.5px;}
.mi-item small{color:var(--ink-3);font-size:11.5px;}
/* @ 横幅 + 过滤 */
.mention-banner{display:flex;align-items:center;gap:6px;margin:10px 16px 0;padding:9px 12px;background:linear-gradient(135deg,#FFF3E0,#FFE3D0);border:1px solid #FFD9BE;border-radius:12px;font-size:13px;color:#C2410C;cursor:pointer;font-weight:600;}
.mention-banner .n{background:#FF7A45;color:#fff;border-radius:10px;padding:0 7px;font-size:12px;}
.circle-filters{display:flex;gap:8px;padding:10px 16px 2px;}
.cf{font-size:12.5px;padding:5px 12px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;}
.cf.on{background:var(--warm);color:#fff;border-color:var(--warm);}
/* 帖子图片九宫格 */
.post-imgs{display:grid;gap:4px;margin:10px 0 4px;grid-template-columns:repeat(3,1fr);}
.post-imgs.c1{grid-template-columns:1fr;max-width:240px;}
.post-imgs.c2{grid-template-columns:repeat(2,1fr);max-width:320px;}
.post-imgs.c4{grid-template-columns:repeat(2,1fr);max-width:320px;}
.post-imgs .pi{aspect-ratio:1/1;overflow:hidden;border-radius:10px;cursor:pointer;background:var(--warm-bg);}
.post-imgs.c1 .pi,.post-imgs.c2 .pi,.post-imgs.c4 .pi{aspect-ratio:4/3;}
.post-imgs .pi img{width:100%;height:100%;object-fit:cover;}
.at{color:#FF7A45;font-weight:700;}
.post.mentioned{border:1.5px solid #FFD9BE;}
.post .pin{font-size:11px;background:#FFF3E0;color:#C2410C;border-radius:8px;padding:1px 6px;margin-left:4px;font-weight:700;vertical-align:middle;}
/* 灯箱 */
.light{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:200;padding:24px;}
.light img{max-width:100%;max-height:100%;border-radius:8px;}
/* 底部 tab 未读角标 */
.tab{position:relative;}
.tab .badge{position:absolute;top:2px;right:50%;margin-right:-22px;min-width:16px;height:16px;padding:0 4px;background:#FF5A5F;color:#fff;border-radius:9px;font-size:10px;line-height:16px;text-align:center;font-weight:700;box-sizing:border-box;}

/* 审批流程：子模块索引 / 返回链接 / 完整网页版按钮 */
.detail .body a{color:#FF7A45;text-decoration:none;font-weight:700;cursor:pointer;}
.detail .body a:active{opacity:.6;}
.gt-index{display:flex;flex-direction:column;gap:9px;margin:6px 0 4px;}
.gti{display:flex;align-items:center;gap:8px;padding:13px 15px;background:#F6F8FC;border:1px solid #EEF1F6;border-radius:13px;font-size:14.5px;color:var(--ink);cursor:pointer;transition:background .15s;}
.gti:active{background:#ECEFF5;}
.gt-btn{display:block;width:100%;margin:14px 0 2px;padding:13px 15px;border:none;border-radius:13px;background:linear-gradient(135deg,#FF7A45,#FF9A6C);color:#fff;font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(255,122,69,.25);}
.gt-btn:active{opacity:.9;}
/* 审批模块内的表格（发票类型、速查总表等） */
.gt-table{width:100%;border-collapse:collapse;margin:8px 0 12px;font-size:13px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(44,38,34,.05);}
.gt-table th,.gt-table td{border:1px solid #F1E7E0;padding:7px 9px;text-align:left;vertical-align:top;line-height:1.5;color:var(--ink);}
.gt-table th{background:#FFF3E9;color:#9A5B2E;font-weight:700;white-space:nowrap;}
.gt-table tr:nth-child(even) td{background:#FFFCF9;}
/* 报销单填写效果参考图 */
.gt-img{margin:12px 0;text-align:center;}
.gt-img img{width:100%;max-width:430px;border:1px solid #ECECEC;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(44,38,34,.06);}
.gt-cap{font-size:12px;color:#8a8a8a;margin-top:6px;line-height:1.5;}
.gt-table td b{color:#C2410C;}

/* ===== 新增：暖心卡 / 发票复制 / 弹层 / 摇一摇 ===== */
.warm-card{margin:14px 16px 0;background:#fff;border:1px solid #F0E6DF;border-radius:16px;padding:14px 16px;box-shadow:0 3px 10px rgba(255,122,69,.07);}
.wc-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#9a8f88;}
.wc-msg{margin:8px 0 10px;font-size:14.5px;line-height:1.6;color:#3a3531;}
.wc-foot{display:flex;align-items:center;gap:10px;font-size:12px;color:#7a726c;flex-wrap:wrap;}
.wc-yi{color:#2E7D32;font-weight:700;} .wc-ji{color:#C0392B;font-weight:700;}
.wc-color{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.1);}

.inv-card{margin:0 0 14px;padding:14px 15px;background:linear-gradient(135deg,#EAF3FF,#F3F8FF);border:1px solid #D6E6FB;border-radius:14px;}
.inv-tt{font-size:14px;font-weight:700;color:#185FA5;margin-bottom:4px;}
.inv-sub{font-size:12.5px;color:#6b7a8c;line-height:1.5;margin-bottom:10px;}

.nx-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px;animation:nxFade .18s ease;}
@keyframes nxFade{from{opacity:0}to{opacity:1}}
.nx-box{position:relative;background:#fff;border-radius:18px;padding:22px 20px;max-width:340px;width:100%;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.2);animation:nxPop .22s ease;}
@keyframes nxPop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
.nx-close{position:absolute;top:10px;right:14px;font-size:22px;color:#bbb;cursor:pointer;line-height:1;}

/* 安装到手机桌面 · 图文引导 */
.ig{text-align:center;}
.ig-h{font-size:18px;font-weight:700;color:#FF7A45;margin-bottom:4px;}
.ig-sub{font-size:12.5px;color:#9a8f88;margin-bottom:12px;}
.ig-warn{background:#FFF3E9;color:#B5561F;border:1px solid #FFE0CC;border-radius:10px;font-size:12px;line-height:1.5;padding:8px 10px;margin-bottom:14px;text-align:left;}
.ig-steps{list-style:none;margin:0 0 2px;padding:0;text-align:left;}
.ig-steps li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px dashed #F1E7E0;}
.ig-steps li:last-child{border-bottom:none;}
.ig-ic{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#FFF3E9;display:flex;align-items:center;justify-content:center;font-size:16px;}
.ig-tx{flex:1;font-size:13px;line-height:1.5;color:#4a443f;padding-top:4px;text-align:left;}
.ig-tx b{color:#FF7A45;}
.ig-ok{margin-top:14px;}

.lp-h{font-size:17px;font-weight:700;color:#FF7A45;margin-bottom:14px;}
.lp-pick{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-bottom:16px;font-size:20px;font-weight:700;color:#3a3531;}
.lp-pick span{font-size:13px;font-weight:400;color:#8a8a8a;}
.lp-pick.roll{animation:lpRoll .12s linear infinite;}
@keyframes lpRoll{0%{opacity:.4}50%{opacity:1}100%{opacity:.4}}

.egg-emoji{font-size:46px;margin-bottom:10px;}
.egg-txt{font-size:15px;line-height:1.6;color:#3a3531;margin-bottom:16px;}

.nx-fab{position:fixed;right:16px;bottom:74px;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,#FF7A45,#FF9A6C);color:#fff;font-size:22px;box-shadow:0 6px 18px rgba(255,122,69,.4);cursor:pointer;z-index:900;display:flex;align-items:center;justify-content:center;}
.nx-fab:active{transform:scale(.94);}

.lunch-banner{margin:12px 16px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;background:#FFF6EF;border:1px solid #FFE3D1;border-radius:14px;cursor:pointer;}
.lunch-banner span{font-size:13.5px;color:#9A5B2E;}
.lunch-banner b{color:#FF7A45;font-size:13px;white-space:nowrap;}

.nx-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(10px);background:rgba(40,36,32,.9);color:#fff;font-size:13px;padding:9px 16px;border-radius:20px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:99999;white-space:nowrap;}
.nx-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ===== 节气 / 节日卡 ===== */
.solar-card{margin:14px 16px;padding:14px 16px;border-radius:var(--radius);background:linear-gradient(135deg,#F2FBF4,#E7F5EE);border-left:4px solid #5BB98C;box-shadow:var(--shadow-sm);}
.solar-card.today{background:linear-gradient(135deg,#FFF6E8,#FFEFD4);border-left-color:#F0A23C;}
.sc-top{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-2);margin-bottom:5px;}
.sc-name{font-size:18px;font-weight:800;color:var(--ink);margin:2px 0 4px;}
.sc-days{font-size:12px;font-weight:600;color:#F0A23C;margin-left:8px;}
.sc-tip{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0;}

/* ===== 节气专属小彩蛋投票 ===== */
.egg-vote{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.10);}
.ev-q{font-size:12.5px;font-weight:700;color:var(--ink);margin:0 0 6px;}
.ev-opts{display:flex;gap:6px;}
.ev-btn{flex:1;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 4px;font-size:12px;color:var(--ink-2);cursor:pointer;transition:transform .1s;}
.ev-btn:active{transform:scale(.96);}
.ev-btn.on{background:var(--warm);color:#fff;border-color:var(--warm);font-weight:700;}
.ev-bars{display:flex;gap:3px;margin-top:6px;height:6px;border-radius:6px;overflow:hidden;background:#EEE;}
.ev-bars i{display:block;height:100%;}
.ev-tip{font-size:11.5px;color:var(--ink-2);line-height:1.45;margin:6px 0 0;}

/* ===== 时段彩蛋 pill ===== */
.time-pill{margin:10px 16px 0;padding:8px 14px;border-radius:20px;background:linear-gradient(135deg,#FFF3E9,#FFE7D6);color:#B5531E;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);}

/* ===== 关怀条（连续到访 / 加入天数 / 惊喜日）===== */
.care-bar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 16px 0;}
.cb-item{font-size:12.5px;color:var(--ink-2);background:#fff;border:1px solid #F0E6DF;border-radius:14px;padding:6px 12px;box-shadow:var(--shadow-sm);}
.cb-item b{color:var(--warm);font-size:14px;}
.cb-sp{background:linear-gradient(135deg,#FFF1C2,#FFE2A8);border-color:#F2C75A;color:#9A6B12;font-weight:700;}

/* ===== 成就徽章墙 ===== */
.badge-wall{margin:14px 16px 0;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);}
.bw-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px;}
.bw-prog{font-size:12px;font-weight:600;color:#B5531E;background:#FFF3E9;border-radius:12px;padding:3px 10px;}
.bw-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.badge{text-align:center;padding:8px 4px;border-radius:12px;background:#F6F4F2;border:1px solid #EFE9E4;transition:transform .15s;}
.badge.on{background:linear-gradient(135deg,#FFF6E0,#FFE9C2);border-color:#F2C75A;box-shadow:0 3px 10px rgba(242,199,90,.25);}
.badge.on:active{transform:scale(.94);}
.b-e{font-size:22px;line-height:1.1;filter:grayscale(1) opacity(.45);}
.badge.on .b-e{filter:none;}
.b-n{font-size:11px;color:var(--ink-2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.badge.on .b-n{color:#9A6B12;font-weight:600;}

/* ===== 我的成就页：返回 & 概览 ===== */
.topbar .back{position:absolute;left:14px;top:calc(env(safe-area-inset-top) + 14px);width:30px;height:30px;line-height:28px;text-align:center;font-size:24px;font-weight:700;color:#fff;cursor:pointer;border-radius:50%;background:rgba(255,255,255,.18);}
.topbar.has-back{padding-left:52px;display:flex;align-items:center;}
.top-points{margin-left:auto;font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.22);padding:5px 11px;border-radius:14px;white-space:nowrap;}
.top-points b{font-size:14px;}
.badge-summary{display:flex;gap:12px;margin:14px 16px 0;}
.bs-item{flex:1;display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm);}
.bs-item>div:first-child{font-size:24px;}
.bs-item b{font-size:20px;color:var(--ink);display:block;line-height:1.1;}
.bs-item span{font-size:11.5px;color:var(--ink-2);}
.badge-sp{margin:10px 16px 0;padding:11px 15px;border-radius:14px;background:linear-gradient(135deg,#FFF1C2,#FFE2A8);color:#9A6B12;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm);text-align:center;}

/* ===== 准点下班提醒 ===== */
.off-bar{margin:14px 16px 0;padding:11px 15px;border-radius:14px;background:linear-gradient(135deg,#E9F3FF,#DCEBFF);color:#2E6BB0;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);}
.off-bar.done{background:linear-gradient(135deg,#EAF7EE,#DCF2E2);color:#2E8B57;}

/* ===== 乌萨奇今日一句 ===== */
.quote-banner{margin:14px 16px 0;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#F3EEFF,#ECE4FF);box-shadow:var(--shadow-sm);}
.qb-tag{display:inline-block;font-size:12px;font-weight:700;color:#7A5BD0;margin-bottom:4px;}
.quote-banner p{margin:0;font-size:14px;color:var(--ink);line-height:1.55;}

/* ===== 晚安模式（轻微调暗，关怀夜班/深夜同事）===== */
.view.goodnight{filter:saturate(.92) brightness(.97);}

/* ===== 节气卡：临近动效 & 今日庆祝 ===== */
.solar-card.soon .sc-name{animation:scPulse 1.6s ease-in-out infinite;}
@keyframes scPulse{0%,100%{transform:translateX(0);}50%{transform:translateX(3px);}}
.solar-card.celebrate{box-shadow:0 0 0 2px rgba(240,162,60,.35),var(--shadow-sm);}
.solar-card.celebrate .sc-name{animation:scPop .6s ease;}
@keyframes scPop{0%{transform:scale(.9);opacity:.5;}100%{transform:scale(1);opacity:1;}}

/* ===== 进入启动页特效 ===== */
.splash{
  position:absolute; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(120% 120% at 50% 28%, #FFA372 0%, var(--warm) 52%, #EF5F2C 100%);
  color:#fff; text-align:center; padding:24px;
  transition:opacity .5s ease, transform .5s cubic-bezier(.4,0,.2,1);
  will-change:opacity, transform;
}
.splash--hide{ opacity:0; transform:translateY(-26px); pointer-events:none; }
.sp-inner{ display:flex; flex-direction:column; align-items:center; gap:10px; animation:spRise .7s ease both; }
.sp-rabbit{ font-size:62px; line-height:1; animation:spBreath 2.4s ease-in-out infinite; }
.sp-title{ font-size:30px; font-weight:800; letter-spacing:8px; margin-top:4px; text-shadow:0 2px 10px rgba(0,0,0,.14); }
.sp-sub{ font-size:13px; opacity:.9; letter-spacing:3px; }
.sp-line{ font-size:15px; margin-top:16px; font-weight:600; text-shadow:0 1px 6px rgba(0,0,0,.12); }
.sp-quote{ font-size:13.5px; opacity:.95; max-width:260px; line-height:1.6; }
.sp-streak{ font-size:13px; background:rgba(255,255,255,.18); padding:5px 12px; border-radius:999px; margin-top:6px; }
.sp-hint{ position:absolute; bottom:26px; left:0; right:0; font-size:12px; opacity:.82; }
@keyframes spBreath{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.12); } }
@keyframes spRise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }

/* 首页内容错落上浮（仅首次进入）*/
.home-enter > *{ opacity:0; transform:translateY(18px); transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.3,1); }
.home-enter > .topbar{ opacity:1; transform:none; }
.home-enter > *.in{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  .splash{ transition:none; }
  .splash--hide{ opacity:0; }
  .sp-inner, .sp-rabbit{ animation:none; }
  .home-enter > *{ opacity:1; transform:none; transition:none; }
}

/* ===== 本月寿星 + 专属送祝福 ===== */
.bd-sec-t{font-size:13px;color:var(--warm);font-weight:700;margin:14px 2px 10px;}
.bd-star{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:10px 12px;margin-bottom:10px;box-shadow:var(--shadow-sm);position:relative;cursor:pointer;}
.bd-ava{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--warm-soft),var(--warm));display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;}
.bd-info .bd-nm{font-weight:700;font-size:15px;}
.bd-info .bd-dt{font-size:12px;color:var(--ink-3);margin-top:2px;}
.bd-tag{position:absolute;right:12px;top:11px;font-size:11px;background:var(--warm);color:#fff;padding:2px 8px;border-radius:999px;}
.bd-star.bd-today{outline:2px solid var(--gold);box-shadow:0 6px 18px rgba(242,179,61,.3);}
.bd-send{background:#fff;border-radius:16px;padding:12px;box-shadow:var(--shadow-sm);margin-top:6px;}
.bd-send-h{font-size:13px;font-weight:700;color:var(--warm);margin-bottom:8px;}
.bd-row{display:flex;gap:8px;}
.bd-sel{flex:1;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;background:#fff;color:var(--ink);outline:none;}
.bd-row input{flex:1;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;outline:none;}
.bd-row button{background:linear-gradient(135deg,var(--warm),var(--warm-soft));color:#fff;border:none;border-radius:10px;padding:0 14px;font-size:13px;font-weight:700;cursor:pointer;}

/* ===== 寿星庆祝页（滚动祝福字幕 + 彩带特效）===== */
.star-party{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 0%,#5b2a4a 0%,#3a1b3a 55%,#241226 100%);color:#fff;overflow:hidden;}
.sp-back{position:absolute;top:calc(env(safe-area-inset-top) + 14px);left:14px;z-index:6;background:rgba(255,255,255,.16);color:#fff;border:none;border-radius:10px;padding:6px 12px;font-size:13px;cursor:pointer;}
.sp-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.sp-confetti i{position:absolute;top:-14px;width:8px;height:13px;opacity:.9;border-radius:1px;animation:spFall linear infinite;}
@keyframes spFall{to{transform:translateY(720px) rotate(400deg);}}
.sp-center{position:absolute;top:64px;left:0;right:0;text-align:center;z-index:2;}
.sp-cake{font-size:62px;animation:spBob 1.4s ease-in-out infinite;}
@keyframes spBob{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-10px) scale(1.08);}}
.sp-name{font-size:26px;font-weight:800;margin-top:6px;text-shadow:0 0 18px rgba(255,180,120,.85);animation:spGlow 2s ease-in-out infinite;}
@keyframes spGlow{0%,100%{text-shadow:0 0 14px rgba(255,180,120,.6);}50%{text-shadow:0 0 28px rgba(255,200,150,1);}}
.sp-sub{font-size:13px;opacity:.85;margin-top:4px;letter-spacing:1px;}
.sp-count{font-size:12px;opacity:.7;margin-top:10px;}
.sp-danmaku{position:absolute;top:200px;left:0;right:0;height:200px;pointer-events:none;z-index:2;}
.sp-danmaku span{position:absolute;white-space:nowrap;font-size:14px;font-weight:600;animation:spDm linear infinite;text-shadow:0 1px 4px rgba(0,0,0,.4);}
@keyframes spDm{from{transform:translateX(340px);}to{transform:translateX(-130%);}}
.sp-feed{position:absolute;bottom:64px;left:0;right:0;height:200px;overflow:hidden;z-index:2;-webkit-mask-image:linear-gradient(to top,transparent,#000 45%);mask-image:linear-gradient(to top,transparent,#000 45%);}
.sp-track{display:flex;flex-direction:column;gap:8px;animation:spScroll 16s linear infinite;}
@keyframes spScroll{from{transform:translateY(0);}to{transform:translateY(-50%);}}
.sp-feed .fb{background:rgba(255,255,255,.1);border:1px solid rgba(255,180,120,.3);border-radius:12px;padding:8px 12px;font-size:13px;backdrop-filter:blur(4px);}
.sp-feed .fb b{color:#FFC59A;}
.sp-send{position:absolute;left:0;right:0;bottom:0;display:flex;gap:8px;padding:10px 12px;background:rgba(0,0,0,.25);z-index:5;}
.sp-send input{flex:1;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:9px 12px;font-size:13px;background:rgba(255,255,255,.12);color:#fff;outline:none;}
.sp-send input::placeholder{color:rgba(255,255,255,.6);}
.sp-send button{background:linear-gradient(135deg,var(--warm),#F2642C);color:#fff;border:none;border-radius:10px;padding:0 16px;font-size:14px;font-weight:700;cursor:pointer;}
@media (prefers-reduced-motion: reduce){
  .sp-confetti i,.sp-cake,.sp-name,.sp-danmaku span,.sp-track{animation:none;}
}

/* ===== 修改头像 ===== */
.profile-head .avatar{position:relative;cursor:pointer;}
.avatar .av-edit{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:#fff;color:#FF7A45;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.2);border:1px solid #FFE2D2;}
.av-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:6px;}
.av-opt{font-size:26px;line-height:1;padding:6px 0;border-radius:12px;background:var(--warm-bg);cursor:pointer;transition:transform .12s;}
.av-opt:active{transform:scale(.88);}

/* ===== 我的福利 / 积分 ===== */
.welfare-hero{margin:16px;padding:22px;border-radius:18px;background:linear-gradient(135deg,var(--warm),#FF9A6B);color:#fff;box-shadow:0 8px 22px rgba(255,122,69,.28);text-align:center;}
.welfare-hero .wh-label{font-size:13px;opacity:.92;}
.welfare-hero .wh-num{font-size:46px;font-weight:800;line-height:1.1;margin:4px 0;}
.welfare-hero .wh-tip{font-size:12px;opacity:.92;}
.store{display:flex;flex-direction:column;gap:10px;padding:0 16px;}
.store-item{display:flex;align-items:center;gap:12px;background:var(--cream);border-radius:var(--radius-sm);padding:12px 14px;box-shadow:var(--shadow-sm);}
.si-emoji{font-size:30px;width:46px;height:46px;border-radius:12px;background:var(--warm-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.si-info{flex:1;min-width:0;}
.si-name{font-size:14.5px;font-weight:700;}
.si-note{font-size:11.5px;color:var(--ink-3);margin-top:1px;}
.si-btn{border:none;border-radius:20px;padding:9px 14px;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,#FF7A45,#FF9A6C);cursor:pointer;white-space:nowrap;}
.si-btn.disabled{background:#D9CFC7;color:#fff;cursor:not-allowed;}
.welfare-actions{padding:0 16px;margin-top:12px;}
.subs{display:flex;flex-direction:column;gap:10px;padding:12px 16px 24px;}
.sub-row{background:#fff;border-radius:var(--radius-sm);padding:13px 14px;box-shadow:var(--shadow-sm);border-left:3px solid var(--warm);}
.sub-text{font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;}
.sub-foot{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--ink-3);flex-wrap:wrap;}
.sub-time{opacity:.85;}
.sub-reason{margin-top:6px;font-size:12px;color:#C0392B;}

/* ===== 交流圈 · 可爱贴纸 ===== */
.sticker-pop{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px;padding:10px;background:var(--warm-bg);border-radius:12px;}
.sticker-pop .stk{font-size:26px;text-align:center;cursor:pointer;padding:4px 0;border-radius:10px;transition:transform .12s;}
.sticker-pop .stk:active{transform:scale(1.2);}
.post.is-sticker{background:linear-gradient(135deg,#FFF7F2,#FFEFE6);}
.post-sticker{font-size:64px;text-align:center;padding:14px 0 6px;animation:stkPop .35s ease;}
@keyframes stkPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}

/* ===== 摇外卖 ===== */
.to-slot{margin:14px 0;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--warm-bg);border-radius:16px;padding:16px;}
.to-slot.rolling{animation:lpRoll .12s linear infinite;}
.to-slot small{font-size:12px;color:var(--ink-3);}
.to-emoji{font-size:40px;}
.to-name{font-size:24px;font-weight:800;color:#FF7A45;}
.to-meta{font-size:13px;color:var(--ink-3);}
.to-hint{font-size:11.5px;color:var(--ink-3);margin-top:10px;}

/* ===== 我的投稿 · 积分明细 ===== */
.ledger{margin:4px 16px 28px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden;}
.ledger-h{font-size:14px;font-weight:800;color:var(--ink-1);padding:13px 14px 6px;display:flex;align-items:center;gap:6px;}
.ledger-list{display:flex;flex-direction:column;}
.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid #f4f4f4;}
.ledger-row:first-child{border-top:none;}
.lr-main{display:flex;flex-direction:column;gap:3px;min-width:0;}
.lr-title{font-size:14px;color:var(--ink-1);font-weight:600;}
.lr-time{font-size:11px;color:var(--ink-3);}
.lr-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:12px;flex-shrink:0;}
.lr-amt{font-size:15px;font-weight:800;}
.lr-status{font-size:10.5px;padding:2px 8px;border-radius:10px;white-space:nowrap;}
.lr-status.earn{background:#E8F5E9;color:#2E7D32;}
.lr-status.spend{background:#FFF3E0;color:#E08700;}
