*{box-sizing:border-box;margin:0;padding:0}
.reconcile-item{padding:10px 0;border-bottom:1px solid #eef0f3;font-size:13px;line-height:1.8}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;background:#f5f7fa;color:#1f2329;display:flex;min-height:100vh}
button{font-family:inherit}

/* ---------- 侧边栏 ---------- */
.sidebar{width:200px;background:#fff;border-right:1px solid #e5e8ed;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}
.logo{padding:20px 18px 16px;border-bottom:1px solid #eef0f3}
.logo-main{font-size:17px;font-weight:700;color:#1677ff}
.logo-sub{font-size:11px;color:#a0a7b3;margin-top:3px}
#nav{padding:10px 10px;display:flex;flex-direction:column;gap:2px}
#nav a{display:block;padding:10px 12px;border-radius:8px;color:#3d4450;font-size:14px;text-decoration:none}
#nav a:hover{background:#f0f5ff}
#nav a.active{background:#e8f1ff;color:#1677ff;font-weight:600}
.sidebar-foot{margin-top:auto;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #eef0f3}
.ghost-btn{border:1px solid #dfe3e8;background:#fff;border-radius:8px;padding:8px;font-size:13px;cursor:pointer;color:#3d4450}
.ghost-btn:hover{border-color:#1677ff;color:#1677ff}
.side-group{padding:6px 10px 4px;border-top:1px solid #eef0f3}
.side-group summary{font-size:11.5px;color:#8a919f;letter-spacing:1px;cursor:pointer;padding:7px 6px;list-style:none}
.side-group summary::before{content:"›";display:inline-block;margin-right:6px;transition:transform .15s;color:#a0a7b3}
.side-group[open] summary::before{transform:rotate(90deg)}
.side-link{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;font-size:12.5px;color:#3d4450;text-decoration:none}
.side-link:hover{background:#f0f5fa;color:#1677ff}

/* ---------- 主区域 ---------- */
#main{flex:1;padding:24px 28px;min-width:0}
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.page-head h1{font-size:20px}
.page-head .sub{font-size:12px;color:#8a919f;margin-top:3px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.primary-btn{background:#1677ff;color:#fff;border:0;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer}
.primary-btn:hover{background:#3c8dff}
.primary-btn:disabled{background:#a8c7fa;cursor:not-allowed}
.secondary-btn{background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;color:#3d4450}
.secondary-btn:hover{border-color:#1677ff;color:#1677ff}
.danger-btn{background:#fff;border:1px solid #ffd4d4;border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;color:#e5484d}
.danger-btn:hover{background:#fff2f2}
.status{font-size:13px;color:#52a352}
.status.error{color:#e5484d}

/* ---------- 卡片 ---------- */
.card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 4px rgba(31,35,41,.06)}
.card h2{font-size:15px;margin-bottom:14px}
.grid{display:grid;gap:16px}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:16px}
.stat-card{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 1px 4px rgba(31,35,41,.06)}
.stat-card .label{font-size:12px;color:#8a919f}
.stat-card .value{font-size:26px;font-weight:700;margin-top:6px}
.stat-card .value.danger{color:#e5484d}
.stat-card .value.ok{color:#52a352}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:1000px){.two-col{grid-template-columns:1fr}}

/* ---------- 分布条 ---------- */
.bar-item{margin-bottom:10px}
.bar-item .bar-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}
.bar-item .bar-label b{color:#5a6472;font-weight:600}
.bar-track{height:8px;background:#eef0f3;border-radius:4px;overflow:hidden}
.bar-fill{height:100%;background:#1677ff;border-radius:4px}
.empty{color:#a0a7b3;font-size:13px;padding:8px 0}

/* ---------- 到期列表 ---------- */
.expire-item{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #f0f2f5;cursor:pointer;font-size:13px}
.expire-item:last-child{border-bottom:0}
.expire-item:hover{background:#fafbfc}
.expire-item .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.expire-item .amount{color:#5a6472;font-weight:600}

/* ---------- 徽章 ---------- */
.badge{display:inline-block;font-size:11px;border-radius:4px;padding:2px 7px;white-space:nowrap}
.bf-alipay{background:#e8f1ff;color:#1677ff}
.bf-wenjuan{background:#eaf7ee;color:#2e9e5b}
.bf-wechat{background:#e6f4ea;color:#1a7f37}
.bf-gongshang{background:#f3e8ff;color:#7c3aed}
.bf-other{background:#f0f2f5;color:#5a6472}
.bs-待处理{background:#fff0e8;color:#d46b08}
.bs-处理中{background:#e8f1ff;color:#1677ff}
.bs-已退款{background:#eaf7ee;color:#2e9e5b}
.bs-已完结{background:#f0f2f5;color:#8a919f}
.bd-red{background:#ffece8;color:#e5484d}
.bd-orange{background:#fff3e0;color:#d46b08}
.bd-green{background:#eaf7ee;color:#2e9e5b}

/* ---------- 表格 ---------- */
.table-wrap{background:#fff;border-radius:14px;box-shadow:0 1px 4px rgba(31,35,41,.06);overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}
th{background:#fafbfc;color:#8a919f;font-weight:600;text-align:left;padding:11px 12px;white-space:nowrap;border-bottom:1px solid #eef0f3}
td{padding:11px 12px;border-bottom:1px solid #f0f2f5;vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafbfc}
.td-content{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5a6472}
.td-amount{font-weight:600;white-space:nowrap}
.mini-btn{border:1px solid #dfe3e8;background:#fff;border-radius:6px;padding:4px 9px;font-size:12px;cursor:pointer;color:#3d4450}
.mini-btn:hover{border-color:#1677ff;color:#1677ff}
.mini-btn.link{color:#1677ff;border-color:#c2dbff}
.rowlink{color:inherit;cursor:pointer}
.rowlink:hover{color:#1677ff}
.count-pill{display:inline-flex;align-items:center;gap:6px}
.count-pill b{min-width:14px;text-align:center}

/* ---------- 筛选栏 ---------- */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.toolbar select,.toolbar input{border:1px solid #dfe3e8;border-radius:8px;padding:8px 10px;font-size:13px;background:#fff;font-family:inherit}
.toolbar input[type=text]{width:220px}
.toolbar .spacer{flex:1}

/* ---------- 表单 ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .full{grid-column:1/-1}
.form-grid label{font-size:13px;color:#3d4450;display:grid;gap:5px}
.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #dfe3e8;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fafbfc;width:100%}
.form-grid textarea{min-height:80px;resize:vertical;line-height:1.6}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:#1677ff;background:#fff}
.form-note{font-size:12px;color:#8a919f;line-height:1.6}

/* ---------- 弹窗 ---------- */
.modal{position:fixed;inset:0;background:rgba(15,20,30,.45);display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:40px 16px;overflow:auto}
.modal-box{background:#fff;border-radius:14px;padding:24px;width:min(680px,96vw)}
.modal-box h3{font-size:16px;margin-bottom:14px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap;align-items:center}
.modal-actions .left{margin-right:auto;display:flex;gap:10px}

/* ---------- 备用金 ---------- */
.fund-form{display:grid;grid-template-columns:auto 1fr 2fr auto auto;gap:10px;align-items:end;margin-bottom:16px}
@media(max-width:800px){.fund-form{grid-template-columns:1fr 1fr}}
.fund-form label{font-size:12px;color:#8a919f;display:grid;gap:4px}
.fund-form select,.fund-form input{border:1px solid #dfe3e8;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit}
.type-充值{color:#2e9e5b;font-weight:600}
.type-支出{color:#e5484d;font-weight:600}
.type-调整{color:#d46b08;font-weight:600}

/* ---------- 回复生成器 ---------- */
.replier-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:1000px){.replier-grid{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{border:1px solid #dfe3e8;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:#3d4450}
.chip:hover{border-color:#9ec2ff}
.chip.active{background:#e8f1ff;border-color:#1677ff;color:#1677ff;font-weight:600}
h3.sec{font-size:14px;margin-bottom:8px;display:flex;gap:8px;align-items:center}
.auto-tag{font-size:11px;color:#52a352;background:#eef7ee;border-radius:4px;padding:2px 6px;display:none}
.auto-tag.show{display:inline-block}
textarea{width:100%;border:1px solid #dfe3e8;border-radius:10px;padding:12px;font-size:14px;line-height:1.7;resize:vertical;font-family:inherit;background:#fafbfc}
textarea:focus{outline:none;border-color:#1677ff;background:#fff}
#dialogue{min-height:130px}
#replyOutput{min-height:260px;background:#fff}
.link-btn{border:0;background:none;color:#1677ff;font-size:13px;cursor:pointer;padding:4px 0}
.link-btn:hover{text-decoration:underline}
.tip{margin-top:12px;background:#fffbe8;border:1px solid #f5e6a8;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.7;color:#6b5d1f}
.tip b{display:block;margin-bottom:4px;color:#8a7514}
.ctx-banner{background:#e8f1ff;border:1px solid #c2dbff;border-radius:10px;padding:12px 14px;font-size:13px;margin-bottom:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ctx-banner .grow{flex:1;min-width:200px}
details.extra{margin:12px 0;border:1px dashed #dfe3e8;border-radius:10px;padding:10px 14px}
details.extra summary{font-size:13px;color:#5a6472;cursor:pointer}
.extra-grid{display:grid;gap:10px;margin-top:10px}
.extra-grid label{font-size:13px;color:#3d4450;display:grid;gap:6px}
.extra-grid input{border:1px solid #dfe3e8;border-radius:8px;padding:8px 10px;font-size:13px}

/* ---------- 退款决策面板 ---------- */
.reflags{display:grid;gap:8px;font-size:13px;color:#3d4450}
.reflags label{display:flex;gap:8px;align-items:center;flex-wrap:wrap;line-height:1.5}
.reflags input[type=checkbox]{accent-color:#1677ff;width:15px;height:15px;flex-shrink:0}
.reflags input[type=text]{border:1px solid #dfe3e8;border-radius:6px;padding:4px 8px;font-size:12.5px;font-family:inherit}

/* ---------- 登录 ---------- */
body.authing .sidebar{display:none}
body.authing{background:#eef3fb}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px rgba(31,35,41,.08);padding:32px 28px;width:min(360px,94vw);display:grid;gap:12px;text-align:center}
.auth-sub{font-size:13px;color:#8a919f}
.auth-card input{border:1px solid #dfe3e8;border-radius:8px;padding:10px 12px;font-size:14px;width:100%;font-family:inherit}
.auth-card input:focus{outline:none;border-color:#1677ff}
#authForm{display:grid;gap:12px;text-align:left}

/* ---------- 设置弹窗 ---------- */
.modal-note{font-size:12px;color:#8a919f;line-height:1.8;margin-bottom:4px}
#settingsModal .modal-box{width:min(460px,96vw)}
#settingsModal label{font-size:13px;color:#3d4450;display:grid;gap:6px;margin-top:12px}
#settingsModal input{border:1px solid #dfe3e8;border-radius:8px;padding:9px 10px;font-size:13px;width:100%}

/* ---------- 后补：退款状态徽章 / 问卷星留言行 / 登录图标 ---------- */
.br-none{background:#f0f2f5;color:#8a919f}
.br-done{background:#e8f1ff;color:#1677ff}
.br-part{background:#fff3e0;color:#d46b08}
.br-full{background:#eaf7ee;color:#2e9e5b}
.wjx-row{display:grid;grid-template-columns:auto 150px 1fr auto;gap:10px;align-items:start;padding:9px 8px;border-bottom:1px dashed #e8ebf4;border-radius:8px;cursor:pointer;font-size:13px}
.wjx-row:hover{background:#fafbfc}
.wjx-row input[type=checkbox]{accent-color:#1677ff;margin-top:2px}
.wjx-contact{color:#3d4450;font-weight:600;word-break:break-all}
.wjx-content{color:#1f2329;line-height:1.55;word-break:break-word}
.wjx-time{color:#8a919f;font-size:12px;white-space:nowrap}
@media(max-width:700px){.wjx-row{grid-template-columns:auto 1fr auto}.wjx-contact{grid-column:2}}
.auth-logo{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#5a92d8,#1677ff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:23px;margin:0 auto;box-shadow:0 6px 16px rgba(22,119,255,.3)}
.auth-title{font-size:18px;font-weight:700}
