/* 1108-13: 员工报账 follows the 我的 grouped-list layout (os-* in unified.css, tags in mine.css). */
.reimbursements-mobile{max-width:560px;margin:0 auto;color:var(--ink);font-size:13px}
.reimbursements-mobile button,.reimbursements-mobile select,.reimbursements-mobile input,.reimbursements-mobile textarea{font:inherit;border:1px solid #e3e1da;border-radius:8px;min-height:30px;padding:4px 8px;background:#fff;color:var(--ink);max-width:100%;box-sizing:border-box;box-shadow:none}
.reimbursements-mobile button{cursor:pointer}
.reimbursements-mobile .primary{background:var(--green);border-color:var(--green);color:#fff}
.reimbursements-mobile :disabled{opacity:.6;cursor:default}
.reimbursements-mobile :focus-visible{outline:2px solid #54798c;outline-offset:1px}
.rm-page{max-width:none}
.rm-page .os-top .rm-hist{font-size:15px;border:0;background:none;min-height:0;padding:2px 4px}
.rm-top{padding:12px 16px 14px;display:grid;gap:8px}
.rm-topline{display:flex;align-items:center;gap:6px}
.reimbursements-mobile .mn-month{background:#efefea;border:0;border-radius:999px;height:28px;min-height:0;padding:0 12px;font-size:14px;font-weight:600;color:var(--ink);margin-right:auto}
.mn-month span{color:var(--muted)}
.rm-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.rm-total b{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}
.rm-total span{font-size:13px;color:var(--muted)}
.rm-steps{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted)}
.rm-steps span{padding:0 8px;line-height:20px;border-radius:999px;background:#efefea}
.rm-steps span.on{background:#2f5744;color:#fff;font-weight:600}
.rm-steps i{width:14px;height:1px;background:#cfcdc6}
.rm-steps small{margin-left:4px;font-size:12px;color:var(--ink)}
.reimbursements-mobile .rm-submit{height:40px;min-height:0;border-radius:10px;font-size:15px;font-weight:600}
.reimbursements-mobile .rm-submit.primary:disabled{opacity:.45}
.rm-body>h2{margin-bottom:4px}
.rm-list{overflow:visible}
.rm-item{position:relative;padding:10px 14px}
.rm-item+.rm-item::before,.rm-item+.rm-pending::before,.rm-pending+.rm-pending::before{content:'';position:absolute;top:0;left:14px;right:0;height:1px;background:#e9e6df}
.rm-needs{background:#fbfaf5}
.rm-item-row{display:flex;gap:10px;align-items:flex-start}
.rm-thumb{width:52px;min-width:52px;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:0;border-radius:8px;background:linear-gradient(135deg,#dfe3d9,#c9cfc2);font-size:11px;color:#686863;padding:0}
.reimbursements-mobile button.rm-thumb{border:0;min-height:0;padding:0}
.rm-thumb img{width:100%;height:100%;object-fit:cover}
.rm-no-receipt{background:#efefea}
.rm-fields{min-width:0;flex:1;display:grid;gap:6px}
.rm-line{display:flex;gap:6px;align-items:center;min-width:0}
.rm-number{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
.reimbursements-mobile .rm-line input,.reimbursements-mobile .rm-line select{height:30px;min-height:30px;padding:3px 8px;font-size:13px}
.reimbursements-mobile .rm-line input[type=date]{width:118px;min-width:0;flex:none;padding:3px 4px;font-size:12px}
.rm-line select[data-field=source]{flex:1;min-width:0}
.reimbursements-mobile .rm-line input[data-field=amount]{width:92px;flex:none;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.reimbursements-mobile .rm-store-select{appearance:none;-webkit-appearance:none;flex:0 1 auto;min-width:0;max-width:none;width:auto;border:0;border-radius:999px;background:var(--s,#6E726A);color:#fff;font-size:12px;font-weight:600;height:24px;min-height:24px;padding:0 10px;text-overflow:ellipsis}
.reimbursements-mobile .rm-store-select option{background:#fff;color:var(--ink)}
.rm-line>.rm-state{margin-left:auto}
.reimbursements-mobile textarea{width:100%;min-height:50px;font-size:13px;resize:vertical}
.rm-recognition{font-size:11px;display:block;color:#687a73;line-height:1.45}
.rm-recognition button{min-height:23px;padding:1px 6px;font-size:11px}
.rm-upload-state{font-size:12px;color:#42657c}
.rm-upload-state progress,.rm-pending progress{display:block;width:100%;height:7px;margin-top:7px;accent-color:#4f6e91}
.rm-upload-state button{float:right;min-height:25px;padding:3px 10px}
.rm-pending{position:relative;display:flex;gap:10px;padding:10px 14px}
.rm-notice:empty,.rm-error:empty{display:none}
.rm-notice{background:#e9f1eb;padding:8px 12px;color:#375f50;border-radius:10px;margin:0 0 8px}
.rm-error{background:#fff0ea;color:#9d3e2f;padding:8px 12px;overflow-wrap:anywhere;border-radius:10px;margin:0 0 8px}
.rm-empty{margin:0;padding:22px 16px;text-align:center;color:var(--muted);font-size:14px}
.rm-bottom{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:6;background:#fffefa;border:1px solid #e6e3dc;border-radius:16px;padding:10px 12px;display:grid;gap:8px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.rm-loc{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.rm-loc>span{font-size:12px;color:var(--muted);margin-right:2px}
.reimbursements-mobile .rm-loc button{height:26px;min-height:0;padding:0 10px;border-radius:999px;border:0;font-size:12px;font-weight:600;background:#efefea;color:#686863}
.reimbursements-mobile .rm-loc button.on{background:var(--s,#6E726A);color:#fff}
.rm-capture{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px}
.reimbursements-mobile .rm-capture button{height:42px;min-height:0;border-radius:10px;font-size:14px;padding:0 6px}
.rm-actions{display:flex;justify-content:flex-end;gap:14px}
.reimbursements-mobile .rm-actions .mn-link{border:0;background:none;height:auto;min-height:0;padding:2px;font-size:13px}
.rm-bottom input[hidden]{display:none}
.rm-originals{margin-top:8px;overflow:auto;max-height:65vh;background:white;border:1px solid #e3e1da;border-radius:8px;padding:5px}
.rm-originals img{max-width:none;display:block}
.rm-originals button{max-width:none;display:block}
.rm-originals a{display:block;padding:15px}
.rm-dialog{width:min(400px,calc(100vw - 24px));box-sizing:border-box;padding:15px;border:1px solid #e6e3dc;border-radius:14px;color:var(--ink);background:#fffefa}
.rm-dialog h2{font-size:17px;margin:0 0 14px}
.rm-dialog::backdrop{background:#24382e55}
.rm-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.rm-dialog-actions button{min-height:36px}
.rm-history{max-height:55vh;overflow:auto}
.rm-history>button{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:10px;margin-bottom:6px}
.rm-history span,.rm-history small{font-size:12px}

/* Processing uses the same compact thumbnail row; editable fields return when ready. */
.rm-processing .rm-line,.rm-processing .rm-fields>textarea{display:none}
.rm-task-title{display:block;font-size:12px;line-height:1.4;margin:3px 0 12px;overflow-wrap:anywhere}
.rm-pending .rm-fields{min-width:0}
.rm-processing .rm-upload-state{line-height:1.5}
.rm-processing{min-height:70px}

.rm-payment-groups{margin:6px 0 0 62px}
.rm-payment-groups button{min-height:30px;font-size:12px}
.rm-payment-groups [data-composition-content]{background:#fffefa;border:1px solid #e3e1da;border-radius:8px;margin-top:5px;padding:8px;overflow-wrap:anywhere}
.rm-payment-groups h3{font-size:13px;margin:0 0 6px}
.rm-payment-groups p,.rm-payment-groups li{font-size:12px;line-height:1.5}
.rm-payment-groups ol,.rm-payment-groups ul{padding-left:18px}
@media(max-width:359px){.reimbursements-mobile .rm-line input[type=date]{width:104px}.reimbursements-mobile .rm-line input[data-field=amount]{width:80px}.rm-capture button{font-size:13px}}
