/* ===== jr ===== */
#jr-root *{ margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }#jr-root{
  --primary:#3B82F6; --primary-dark:#2563EB; --primary2:#6366F1;
  --bg:#F3F5F9; --card:#FFFFFF; --text:#1F2937; --text2:#6B7280;
  --red:#EF4444; --green:#10B981; --border:#E5E7EB;
  --blue-light:#EFF6FF; --amber-light:#FEF3C7; --green-light:#D1FAE5;
  --pink-light:#FCE7F3; --red-light:#FEE2E2; --gray-light:#F3F4F6;
  --dash-blue:#C7D2FE; --hint:#9CA3AF;
}#jr-root, #jr-root{ height:100%; }#jr-root{ font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; background:var(--bg); color:var(--text); font-size:15px; }#jr-root .page{ display:none; min-height:100vh; }#jr-root .page.active{ display:block; }#jr-root .header{ background:linear-gradient(135deg,#3B82F6 0%,#6366F1 100%); border-radius:0 0 20px 20px; padding:11px 16px 13px; color:#fff; }#jr-root .header .h-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }#jr-root .header .h-row > .h-back, #jr-root .header .h-row > .h-btn{ flex-shrink:0; }#jr-root .header .h-back{ background:rgba(255,255,255,.2); border:none; color:#fff; width:30px; height:30px; border-radius:8px; font-size:15px; line-height:1; cursor:pointer; flex-shrink:0; }#jr-root .header .h-avatar{ padding:0; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; }#jr-root .header .h-avatar img{ display:block; width:100%; height:100%; object-fit:cover; }#jr-root .header .h-back-label{ color:#E6FFFFFF; font-size:14px; }#jr-root .header .h-spacer{ flex:1; }#jr-root .header .h-btn{ background:rgba(255,255,255,.18); border:none; color:#fff; min-width:34px; height:30px; padding:0 10px; border-radius:8px; font-size:13px; cursor:pointer; white-space:nowrap; flex-shrink:0; }#jr-root .header .h-title{ color:#fff; font-size:22px; font-weight:bold; margin-top:8px; }#jr-root .header .h-sub{ color:#BFFFFFFF; font-size:12px; margin-top:2px; }#jr-root .header .h-greet{ color:#E4FFFFFF; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex-shrink:1; min-width:0; }#jr-root #view-home .header .h-row{ gap:6px; flex-wrap:nowrap; }#jr-root #view-home .header .h-row > .h-btn{ min-width:30px; height:30px; padding:0 6px; font-size:15px; }#jr-root .header .h-logo-row{ display:flex; align-items:baseline; gap:8px; margin-top:2px; }#jr-root .header .h-logo{ color:#fff; font-size:24px; font-weight:bold; flex-shrink:0; letter-spacing:.3px; }#jr-root .header .h-tagline{ color:#CFFFFFFF; font-size:11px; margin-left:auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }#jr-root .header .h-dash{ background:rgba(255,255,255,.97); border-radius:14px; margin-top:9px; padding:11px 14px; box-shadow:0 2px 10px rgba(15,23,42,.10);
  position:relative; overflow:hidden; }#jr-root .header .h-dash .hs-bg{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 16%, #000 84%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 16%, #000 84%, rgba(0,0,0,0) 100%); }#jr-root .header .h-dash .hs-bg .hs-act-track{ animation:hsActScroll linear infinite; }#jr-root .header .h-dash .hs-bg .hs-act-item{ display:block; height:22px; line-height:22px; padding:0 12px 0 14px; font-size:12px; font-weight:500;
  color:rgba(37,99,235,.34); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:right; }@keyframes hsActScroll{ from{ transform:translateY(0); } to{ transform:translateY(-50%); } }#jr-root .header .h-dash .dash-main, #jr-root .header .h-dash .dash-sub, #jr-root .header .h-dash .dash-chips{ position:relative; z-index:1; }#jr-root .header .h-dash .dash-main{ display:flex; align-items:baseline; gap:8px; }#jr-root .header .h-dash .dash-label{ color:var(--text2); font-size:12px; flex-shrink:0; }#jr-root .header .h-dash .dash-cmp{ font-size:11px; border-radius:20px; padding:2px 8px; background:var(--gray-light); color:var(--text2); white-space:nowrap; margin-left:auto; flex-shrink:0; }#jr-root .header .h-dash .dash-cmp.up{ background:var(--red-light); color:#B91C1C; }#jr-root .header .h-dash .dash-cmp.down{ background:var(--green-light); color:#047857; }#jr-root .header .h-dash .dash-amount{ display:inline-flex; align-items:baseline; gap:3px; min-width:0; }#jr-root .header .h-dash .dash-amount .cur{ color:var(--text2); font-size:14px; font-weight:bold; }#jr-root .header .h-dash .dash-amount #home-summary-total{ color:var(--text); font-size:24px; font-weight:bold; line-height:1.15; letter-spacing:-.2px; }#jr-root .header .h-dash .dash-sub{ color:var(--text2); font-size:11px; margin-top:2px; }#jr-root .header .h-dash .dash-chips{ display:flex; gap:5px; flex-wrap:nowrap; overflow:hidden; margin-top:8px; padding-top:8px; padding-bottom:2px; border-top:1px solid var(--border); }#jr-root .header .h-dash .dash-chip{ display:inline-flex; align-items:center; justify-content:center; gap:3px; background:var(--gray-light); border:none; color:var(--text); font-size:11px; padding:4px 6px; border-radius:20px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1 1 0; min-width:0; }#jr-root .header .h-dash .dash-chip b{ font-size:12px; flex:0 0 auto; }#jr-root .header .h-dash .dash-chip .ico{ flex:0 0 auto; }#jr-root .header .h-dash .dash-chip .lbl{ flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }#jr-root .header .h-dash .dash-chips.dense{ gap:3px; }#jr-root .header .h-dash .dash-chips.dense .dash-chip{ font-size:10px; padding:4px 3px; gap:2px; }#jr-root .header .h-dash .dash-chips.dense .dash-chip b{ font-size:11px; }#jr-root .header .h-dash .dash-chips.dense .dash-chip .ico{ display:none; }@media (max-width:400px){#jr-root .header .h-dash .dash-chips{ gap:3px; }#jr-root .header .h-dash .dash-chip{ font-size:10px; padding:4px 3px; gap:2px; }#jr-root .header .h-dash .dash-chip b{ font-size:11px; }#jr-root .header .h-dash .dash-chip .ico{ display:none; }#jr-root .header .h-row{ gap:5px; }#jr-root .header .h-row > .h-btn{ min-width:30px; height:28px; padding:0 7px; font-size:12px; }#jr-root .header .h-greet{ max-width:64px; }
}@media (max-width:340px){#jr-root .header .h-dash .dash-chip{ font-size:9.5px; padding:4px 2px; }#jr-root .header .h-row{ gap:4px; }#jr-root .header .h-row > .h-btn{ min-width:28px; padding:0 6px; font-size:11px; }#jr-root .header .h-greet{ max-width:44px; }
}#jr-root .header .h-dash .dash-chip.warn{ background:var(--amber-light); color:#B45309; }#jr-root .header .h-dash .dash-chip.ok{ background:var(--green-light); color:#047857; }#jr-root .header .h-dash .dash-chip.dis{ background:var(--gray-light); color:var(--hint); cursor:default; }#jr-root .header .h-dash .dash-chip.todo{ background:var(--primary); color:#fff; font-weight:600; box-shadow:0 1px 4px rgba(59,130,246,.35); }#jr-root .header .h-dash .dash-chip.todo b{ color:#fff; }#jr-root .card{ background:var(--card); border-radius:16px; margin:10px 16px; padding:14px; box-shadow:0 1px 3px rgba(0,0,0,.05); }#jr-root .card.no-margin{ margin:0; }#jr-root .section-title{ padding:11px 20px 2px; font-size:15px; font-weight:bold; color:var(--text); }#jr-root .acc-group-head .agt-sort{ margin-left:auto; font-size:12px; font-weight:normal; color:var(--primary); background:var(--blue-light); padding:2px 10px; border-radius:20px; cursor:pointer; }#jr-root .acc-group-head .agt-sort.done{ color:#047857; background:var(--green-light); }#jr-root .acc-group-head .agt-add, #jr-root .acc-group-fold .agt-add{ margin-left:auto; font-size:12px; font-weight:500; color:#2563EB;
  background:#EEF4FF; border:1px solid #C7DBFF; padding:2px 10px; border-radius:999px; cursor:pointer; line-height:1.6;
  transition:background .15s, border-color .15s; }#jr-root .acc-group-head .agt-add:hover, #jr-root .acc-group-fold .agt-add:hover{ background:#E0EBFF; border-color:#A8C8FF; }#jr-root .acc-group-head .agt-sort + .agt-add{ margin-left:6px; }#jr-root .acc-item.acc-sorting{ background:#F8FAFC; }#jr-root .acc-sort-btns{ display:flex; gap:8px; flex-shrink:0; }#jr-root .acc-sort-btn{ width:36px; height:34px; border-radius:10px; border:1px solid var(--border); background:#fff; color:var(--primary); font-size:15px; line-height:1; cursor:pointer; padding:0; }#jr-root .acc-sort-btn:disabled{ color:var(--hint); opacity:.45; cursor:default; }#jr-root .acc-sort-btn:active:not(:disabled){ background:var(--blue-light); }#jr-root .acc-item{ background:var(--card); border-radius:12px; margin:3px 12px; padding:9px 11px; display:flex; align-items:center; gap:9px; flex-wrap:nowrap; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.05); }#jr-root .acc-item .acc-icon{ width:34px; height:34px; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; box-shadow:0 0 0 1px var(--border); }#jr-root .acc-item .acc-body{ flex:1 1 0; min-width:0; }#jr-root .acc-item .acc-name{ font-size:14.5px; font-weight:bold; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#jr-root .acc-item .acc-desc{ font-size:11px; color:var(--text2); margin-top:1px; }#jr-root .acc-item .acc-right{ text-align:right; flex-shrink:0; margin-left:auto; }#jr-root .acc-item .acc-balance{ font-size:15px; font-weight:bold; color:var(--text); white-space:nowrap; }#jr-root .acc-item .acc-tag{ font-size:10px; color:var(--text2); margin-top:1px; }#jr-root .tx-item{ background:var(--card); border-radius:11px; margin:5px 12px; padding:9px 11px; display:flex; align-items:center; gap:9px; row-gap:5px; flex-wrap:wrap; cursor:pointer; box-shadow:0 1px 3px rgba(15,23,42,.07), 0 0 0 1px rgba(15,23,42,.045); }#jr-root .tx-item:active{ background:#F8FAFC; }#jr-root .modal .tx-item{ margin:5px 0; }#jr-root .tx-item .tx-icon{ width:32px; height:32px; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; box-shadow:0 0 0 1px var(--border); }#jr-root .tx-item .tx-body{ flex:1 1 120px; min-width:0; }#jr-root .tx-item .tx-note{ font-size:14px; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#jr-root .tx-item .tx-meta{ display:flex; align-items:center; gap:5px; margin-top:3px; flex-wrap:wrap; }#jr-root .tx-item .tx-amount{ font-size:14.5px; font-weight:bold; color:var(--text); flex-shrink:0; margin-left:auto; }#jr-root .tx-item .tx-amount.out{ color:var(--red); }#jr-root .tx-item .tx-right{ display:flex; flex-direction:column; align-items:flex-end; gap:1px; flex-shrink:0; margin-left:auto; }#jr-root .tx-item .tx-right .tx-amount{ margin-left:0; }#jr-root .tx-item .tx-extra{ font-size:11px; color:var(--hint); white-space:nowrap; }#jr-root .tx-day{ display:flex; justify-content:space-between; padding:8px 14px 1px; font-size:12.5px; font-weight:bold; color:var(--text); }#jr-root .tx-day .day-total{ color:var(--text); }#jr-root .chip{ display:inline-block; padding:2px 8px; border-radius:6px; font-size:11px; }#jr-root .chip.cat{ background:var(--blue-light); color:var(--primary); }#jr-root .chip.no-inv{ background:#F1F5F9; color:#64748B; }#jr-root .chip.has-inv{ background:var(--green-light); color:#047857; }#jr-root .chip.hidden{ background:var(--pink-light); color:#BE185D; }#jr-root .chip.mine{ background:var(--gray-light); color:var(--text2); }#jr-root .chip.user{ background:var(--blue-light); color:var(--primary); }#jr-root .chip.book{ background:#F3E8FF; color:#7E22CE; }#jr-root .avatar-mini{ width:18px; height:18px; border-radius:50%; object-fit:cover; background:var(--blue-light); }#jr-root .filter-bar{ display:flex; gap:8px; padding:14px 16px 0; overflow-x:auto; }#jr-root .filter-bar .chip-btn{ flex-shrink:0; padding:7px 14px; border-radius:17px; border:none; font-size:12px; font-weight:bold; cursor:pointer; background:var(--gray-light); color:var(--text2); }#jr-root .filter-bar .chip-btn.on{ background:var(--primary); color:#fff; }#jr-root .filter-bar .chip-btn.warn.on{ background:var(--red); color:#fff; }#jr-root .filter-bar .chip-btn.ok.on{ background:var(--green); color:#fff; }#jr-root .filter-search-btn{ flex-shrink:0; width:34px; height:34px; margin-left:auto; border:none; border-radius:50%; background:var(--gray-light); color:var(--text2); font-size:16px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s,color .15s,transform .15s; }#jr-root .filter-search-btn:active{ transform:scale(.94); }#jr-root .filter-search-btn.on{ background:var(--primary); color:#fff; }#jr-root .sbar-wrap{ padding:10px 16px 0; animation:sbarIn .15s ease-out; }@keyframes sbarIn{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }#jr-root .sbar{ display:flex; align-items:center; gap:8px; padding:0 6px 0 12px; height:44px; background:var(--gray-light); border:1.5px solid transparent; border-radius:17px; transition:border-color .15s,box-shadow .15s,background .15s; }#jr-root .sbar:focus-within{ background:var(--card); border-color:var(--primary); box-shadow:0 2px 10px rgba(0,0,0,.06); }#jr-root .sbar-ico{ font-size:15px; opacity:.75; }#jr-root .sbar-input{ flex:1; min-width:0; height:100%; border:none; outline:none; background:transparent; font-size:14px; color:var(--text); }#jr-root .sbar-input::placeholder{ color:var(--text2); }#jr-root .sbar-count{ flex-shrink:0; font-size:12px; color:var(--text2); white-space:nowrap; }#jr-root .sbar-x{ flex-shrink:0; width:26px; height:26px; margin-right:2px; border:none; border-radius:50%; background:rgba(0,0,0,.06); color:var(--text2); font-size:13px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s,color .15s; }#jr-root .sbar-x:active{ background:rgba(0,0,0,.14); }#jr-root #acc-status-filter{ display:grid; grid-template-columns:repeat(5,1fr); gap:6px; overflow-x:visible; }#jr-root #acc-status-filter .chip-btn{ padding:7px 2px; text-align:center; white-space:nowrap; display:flex; align-items:center; justify-content:center; gap:3px; }#jr-root .btn{ display:block; width:100%; padding:14px; border:none; border-radius:12px; font-size:16px; font-weight:bold; cursor:pointer; }#jr-root .btn.primary{ background:var(--primary); color:#fff; letter-spacing:.08em; }#jr-root .btn.primary:active{ background:var(--primary-dark); }#jr-root .btn.secondary{ background:var(--blue-light); color:var(--primary); }#jr-root .btn.outline{ background:#fff; color:var(--primary); border:1px solid var(--primary); }#jr-root .btn.danger{ background:var(--red); color:#fff; }#jr-root .btn.danger-outline{ background:#fff; color:var(--red); border:1px solid var(--red); }#jr-root .btn.small{ display:inline-block; width:auto; padding:6px 14px; font-size:13px; border-radius:8px; }#jr-root .btn.dashed{ background:#fff; border:1.5px dashed var(--dash-blue); color:var(--primary); border-radius:12px; }#jr-root .btn.disabled{ opacity:.5; pointer-events:none; }#jr-root .btn-lg{ height:56px; font-size:17px; }#jr-root .form-card{ background:var(--card); border-radius:16px; margin:10px 16px; overflow:hidden; }#jr-root .form-card .row{ display:flex; align-items:center; padding:14px; gap:12px; }#jr-root .form-card .row + .row{ border-top:0.5px solid var(--border); }#jr-root .form-card .row .lbl{ font-size:15px; color:var(--text); white-space:nowrap; }#jr-root .form-card .row .val{ flex:1; text-align:right; font-size:15px; font-weight:bold; color:var(--text); background:none; border:none; }#jr-root .form-card .row .val.ph{ color:var(--hint); font-weight:normal; }#jr-root .form-card .row .arrow{ color:#C4C9D0; font-size:14px; }#jr-root .form-card .row input.val{ outline:none; }#jr-root .form-card .row textarea.val{ resize:none; min-height:40px; text-align:right; outline:none; }#jr-root .amount-card{ background:var(--card); border-radius:16px; margin:10px 16px; padding:14px; }#jr-root .amount-card .lbl{ font-size:12px; color:var(--text2); }#jr-root .amount-card input{ width:100%; border:none; outline:none; font-size:34px; font-weight:bold; color:var(--text); margin-top:6px; }#jr-root .amount-card input::placeholder{ color:var(--hint); }#jr-root .amount-card .hint{ font-size:11px; color:var(--hint); margin-top:4px; }#jr-root .amount-card .amount-line{ display:flex; align-items:center; gap:10px; }#jr-root .amount-card .amount-line input{ flex:1 1 auto; min-width:0; margin-top:0; }#jr-root .amount-card .sign-btn{ flex:0 0 auto; width:46px; height:46px; padding:0; border-radius:12px;
  border:1px solid var(--border); background:var(--bg); color:var(--text2);
  font-size:20px; font-weight:700; line-height:1; cursor:pointer; }#jr-root .amount-card .sign-btn.on{ background:var(--green); border-color:var(--green); color:#fff; }#jr-root #view-add .amount-card .amount-line input{ font-size:28px; margin-top:0; }#jr-root .cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }#jr-root .cat-item{ padding:10px 4px; text-align:center; border-radius:12px; background:var(--gray-light); cursor:pointer; font-size:13px; border:1.5px solid transparent; }#jr-root .cat-item .ci{ font-size:20px; display:block; }#jr-root .cat-item.selected{ background:var(--blue-light); border-color:var(--primary); color:var(--primary); font-weight:bold; }#jr-root .cat-group-h{ grid-column:1/-1; font-size:12px; font-weight:700; color:var(--text2); margin:8px 2px -2px; padding-left:2px; }#jr-root .icon-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }#jr-root .icon-tile{ width:36px; height:36px; margin:0 auto; border-radius:10px; background:var(--gray-light); display:flex; align-items:center; justify-content:center; font-size:17px; cursor:pointer; border:1.5px solid transparent; position:relative; }#jr-root .icon-tile.selected{ border-color:var(--primary); background:var(--blue-light); }#jr-root .icon-tile.icon-more{ border:1.5px dashed var(--border); color:var(--hint); font-size:15px; }#jr-root .icon-more-tag{ position:absolute; right:-1px; bottom:-1px; font-size:8px; line-height:1; padding:2px 3px; border-radius:5px; background:var(--primary); color:#fff; }#jr-root .icon-grid-more{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; max-height:56vh; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:2px; }#jr-root .acc-icon-img{ width:20px; height:20px; border-radius:6px; object-fit:cover; display:block; }#jr-root .acc-img-preview{ width:52px; height:52px; border-radius:14px; background:var(--gray-light); display:flex; align-items:center; justify-content:center; font-size:24px; overflow:hidden; flex-shrink:0; box-shadow:0 0 0 1px var(--border); }#jr-root .color-grid{ display:flex; gap:12px; flex-wrap:wrap; }#jr-root .color-tile{ width:36px; height:36px; border-radius:50%; cursor:pointer; border:2.5px solid transparent; }#jr-root .color-tile.selected{ border-color:var(--primary); box-shadow:0 0 0 2px #fff inset; }#jr-root .invoice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }#jr-root .invoice-grid .inv-item{ position:relative; aspect-ratio:1/1; border-radius:12px; overflow:hidden; background:var(--gray-light); }#jr-root .invoice-grid img{ width:100%; height:100%; object-fit:cover; }#jr-root .invoice-grid .del{ position:absolute; top:4px; right:4px; background:rgba(0,0,0,.6); color:#fff; border:none; border-radius:50%; width:22px; height:22px; font-size:12px; line-height:22px; }#jr-root .inv-add{ aspect-ratio:1/1; border:1.5px dashed var(--dash-blue); border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:var(--primary); font-size:12px; cursor:pointer; background:var(--blue-light); -webkit-tap-highlight-color:transparent; }#jr-root .inv-add .plus{ font-size:26px; line-height:1; }#jr-root .inv-add span:last-child{ line-height:1; white-space:nowrap; }#jr-root .inv-wm{ position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column;
  padding:6px 5px 3px; background:linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,0));
  color:#fff; font-size:9px; line-height:1.3; text-shadow:0 1px 2px rgba(0,0,0,.85); pointer-events:none; }#jr-root .inv-wm span{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:.95; }#jr-root .inv-owner{ position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,.5); color:#fff; font-size:10px; text-align:center; padding:1px; }#jr-root .c-avatar{ width:26px; height:26px; border-radius:50%; object-fit:cover; flex-shrink:0; }#jr-root .c-avatar-ph{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--blue-light); color:var(--primary); font-size:12px; font-weight:bold; flex-shrink:0; }#jr-root .inv-quick{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }#jr-root .inv-quick .inv-btn{ display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:5px;
  padding:5px 12px; border-radius:20px; border:1px solid var(--border); background:#fff; color:var(--text2);
  cursor:pointer; transition:all .15s ease; -webkit-tap-highlight-color:transparent; font-family:inherit; }#jr-root .inv-quick .inv-btn:active{ transform:scale(.97); }#jr-root .inv-quick .inv-btn .ico{ font-size:13px; line-height:1; }#jr-root .inv-quick .inv-btn .txt{ font-size:12px; font-weight:bold; line-height:1; white-space:nowrap; }#jr-root .inv-quick .inv-btn.on.has{ background:var(--green-light); color:#047857; border-color:#A7F3D0; box-shadow:0 1px 3px rgba(4,120,87,.12); }#jr-root .inv-quick .inv-btn.on.pending{ background:var(--red-light); color:var(--red); border-color:#FCA5A5; box-shadow:0 1px 3px rgba(239,68,68,.12); }#jr-root .inv-quick .inv-btn.on.no{ background:#F1F5F9; color:#475569; border-color:#CBD5E1; box-shadow:0 1px 3px rgba(71,85,105,.12); }#jr-root .inv-quick .inv-btn.on.wait{ background:#FEF3C7; color:#B45309; border-color:#FCD34D; box-shadow:0 1px 3px rgba(180,83,9,.12); }#jr-root .inv-apply{ margin-top:10px; padding:10px 12px; background:#FFFBEB; border:1px solid #FDE68A; border-radius:10px; }#jr-root .inv-apply-txt{ font-size:12px; color:#92400E; line-height:1.5; }#jr-root .inv-acts{ display:flex; gap:8px; margin-top:10px; }#jr-root .inv-acts .btn{ margin:0; flex:1; }#jr-root .inv-rej-tip{ margin-top:10px; padding:10px 12px; background:#FEF2F2; border:1px solid #FECACA; border-radius:10px; font-size:12px; color:#B91C1C; line-height:1.5; }#jr-root .inv-quick .inv-hint{ grid-column:1 / -1; font-size:10px; color:var(--text2); text-align:center; opacity:.85; margin-top:-1px; }#jr-root .inv-tip{ font-size:11px; color:var(--text2); margin-top:8px; line-height:1.55; }#jr-root .inv-help-btn{ background:none; border:none; font-size:14px; cursor:pointer; padding:2px 4px; border-radius:50%; opacity:.5; transition:opacity .2s; }#jr-root .inv-help-btn:hover{ opacity:1; background:rgba(0,0,0,.05); }#jr-root .inv-help-pop{ margin-top:10px; padding:0; overflow:hidden; }#jr-root .inv-help-inner{ padding:12px 14px; background:#fff; border:1px solid #E5E7EB; border-radius:10px; font-size:12.5px; color:var(--text); line-height:1.8; box-shadow:0 2px 8px rgba(0,0,0,.06); }#jr-root .comment-item{ padding:10px 0; border-bottom:0.5px solid var(--border); }#jr-root .comment-item:last-child{ border-bottom:none; }#jr-root .comment-item .c-head{ display:flex; align-items:flex-start; gap:8px; font-size:13px; }#jr-root .comment-item .c-head .c-meta{ flex:1; min-width:0; }#jr-root .comment-item .c-head .c-top{ display:flex; align-items:baseline; gap:8px; overflow:hidden; }#jr-root .comment-item .c-head .who{ font-weight:bold; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }#jr-root .comment-item .c-head .time{ color:var(--hint); font-size:11px; white-space:nowrap; flex-shrink:0; }#jr-root .comment-item .c-acts{ display:flex; gap:14px; row-gap:4px; margin-top:3px; flex-wrap:wrap; }#jr-root .link-btn{ background:none; border:none; padding:0; margin:0; color:var(--primary);
  font-size:12px; font-family:inherit; line-height:1.4; cursor:pointer; -webkit-tap-highlight-color:transparent; }#jr-root .link-btn:active{ opacity:.55; }#jr-root .comment-item .c-text{ margin-top:4px; font-size:14px; }#jr-root .comment-input{ display:flex; gap:8px; margin-top:12px; }#jr-root .comment-input input, #jr-root .comment-input textarea{ flex:1; padding:10px 12px; border:1px solid var(--border); border-radius:10px; font-size:14px; outline:none; resize:none; font-family:inherit; line-height:1.4; }#jr-root .comment-input .btn{ display:flex; align-items:center; justify-content:center; text-align:center; }#jr-root .modal-mask{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:200; display:none; align-items:flex-end; }#jr-root .modal-mask.show{ display:flex; }#jr-root .modal-mask--top{ z-index:300; }#jr-root .modal{ background:#fff; width:100%; border-radius:16px 16px 0 0; padding:18px 18px calc(18px + env(safe-area-inset-bottom)); max-height:88vh; overflow-y:auto; }#jr-root .modal-detail-box{ display:flex; flex-direction:column; max-height:90vh; padding-bottom:0; overflow:hidden; }#jr-root .modal-detail-box .modal-title{ flex:0 0 auto; padding-right:30px; }#jr-root .modal-detail-box #detail-body{ flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; padding-bottom:12px; }#jr-root .modal-detail-box #detail-actions{ flex:0 0 auto; border-top:0.5px solid var(--border); padding:12px 0 calc(12px + env(safe-area-inset-bottom)); background:#fff; }#jr-root .detail-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:10px; align-items:start; }#jr-root .detail-col{ min-width:0; }#jr-root .detail-col .invoice-grid{ grid-template-columns:repeat(2,1fr); gap:6px; }#jr-root .detail-col .inv-add{ aspect-ratio:1/1; font-size:10.5px; gap:2px; }#jr-root .detail-col .inv-add .plus{ font-size:20px; }#jr-root .modal .modal-title{ font-size:17px; font-weight:bold; margin-bottom:14px; text-align:center; position:relative; }#jr-root .modal .modal-close{ position:absolute; right:0; top:-4px; font-size:18px; color:var(--muted,#9CA3AF); background:none; border:none; cursor:pointer; }#jr-root .modal-close-fixed{ position:fixed !important; top:80px !important; right:16px !important; width:36px; height:36px; font-size:16px; color:#6B7280; background:#fff; border:1.5px solid #D1D5DB; border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:10000; box-shadow:0 2px 8px rgba(0,0,0,.12); }#jr-root .modal-close-fixed:hover{ background:#F3F4F6; color:#374151; border-color:#9CA3AF; }#jr-root .modal-close-fixed:active{ background:#E5E7EB; }#jr-root .detail-section{ padding:16px; margin-bottom:12px; border-radius:16px; }#jr-root .detail-section-info{ background:linear-gradient(135deg,#F0F9FF 0%,#E0F2FE 100%); border:1px solid #BAE6FD; }#jr-root .detail-section-invoice{ background:linear-gradient(135deg,#F0FDF4 0%,#DCFCE7 100%); border:1px solid #BBF7D0; }#jr-root .detail-section-comment{ background:linear-gradient(135deg,#FFF7ED 0%,#FFEDD5 100%); border:1px solid #FED7AA; }#jr-root .detail-section-extra{ background:linear-gradient(135deg,#FAF5FF 0%,#F3E8FF 100%); border:1px solid #E9D5FF; }#jr-root .extra-actions{ display:flex; gap:8px; margin-bottom:10px; }#jr-root .extra-act{ flex:1; display:flex; align-items:center; justify-content:center; gap:4px; padding:8px 4px; border-radius:10px;
  border:1px solid #E9D5FF; background:#fff; color:#7E22CE; font-size:12px; font-weight:bold; font-family:inherit;
  cursor:pointer; -webkit-tap-highlight-color:transparent; transition:all .15s ease; }#jr-root .extra-act:active{ transform:scale(.97); background:#FAF5FF; }#jr-root .extra-act .ea-ico{ font-size:14px; line-height:1; }#jr-root .extra-list{ display:flex; flex-direction:column; gap:8px; }#jr-root .extra-row{ display:flex; align-items:flex-start; gap:8px; background:#fff; border:1px solid #F3E8FF; border-radius:10px; padding:8px 10px; }#jr-root .extra-ico{ font-size:16px; line-height:1.3; flex-shrink:0; }#jr-root .extra-body{ flex:1; min-width:0; }#jr-root .extra-thumb{ display:block; width:72px; height:72px; object-fit:cover; border-radius:8px; margin-bottom:4px; }#jr-root .extra-file{ display:inline-block; font-size:13.5px; color:#7E22CE; text-decoration:none; word-break:break-all; font-weight:600; }#jr-root .extra-size{ font-size:11px; color:var(--hint); margin-left:6px; }#jr-root .extra-loc{ font-size:13.5px; color:var(--text); line-height:1.45; word-break:break-all; }#jr-root .extra-loc-acts{ display:flex; gap:6px; margin-top:6px; flex-wrap:wrap; }#jr-root .extra-mini{ display:inline-flex; align-items:center; gap:3px; font-size:12px; padding:5px 10px; border-radius:8px; border:1px solid #E9D5FF; background:#FAF5FF; color:#7E22CE; font-weight:600; cursor:pointer; line-height:1.3; }#jr-root .extra-mini:active{ background:#F3E8FF; }#jr-root .extra-meta{ display:flex; gap:8px; flex-wrap:wrap; font-size:11px; color:var(--hint); margin-top:4px; }#jr-root .extra-del{ flex-shrink:0; width:24px; height:24px; border-radius:50%; border:none; background:#F3F4F6; color:#9CA3AF; font-size:12px; cursor:pointer; line-height:1; }#jr-root .extra-del:active{ background:#E5E7EB; }#jr-root .extra-empty{ font-size:13px; color:var(--text2); padding:8px 2px; }#jr-root .detail-section .sec-title{ font-size:15px; font-weight:700; color:var(--text); margin-bottom:10px; }#jr-root .sum-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:10px; background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden; }#jr-root .sum-cell{ background:#fff; padding:9px 8px; min-width:0; }#jr-root .sum-label{ font-size:11px; color:var(--hint); margin-bottom:3px; }#jr-root .sum-val{ font-size:13.5px; font-weight:600; color:var(--text); line-height:1.35; word-break:break-all; }#jr-root .sum-val.sum-small{ font-size:11.5px; font-weight:500; color:var(--text2); }#jr-root .sum-val.sum-red{ color:#EF4444; }#jr-root .sum-note{ margin-top:10px; background:rgba(255,255,255,.7); border-radius:10px; padding:10px; font-size:14px; line-height:1.6; }#jr-root .sum-loc{ margin-top:8px; font-size:13px; color:var(--text2); background:rgba(255,255,255,.7); border-radius:10px; padding:8px 10px; }#jr-root .detail-section .card{ margin:0; box-shadow:none; }#jr-root .modal-center{ align-items:center; justify-content:center; }#jr-root .modal-center .modal{ border-radius:14px; max-width:320px; margin:0 30px; }#jr-root .stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 16px; }#jr-root .stat-card{ background:var(--card); border-radius:16px; padding:14px; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.05); }#jr-root .stat-card .s-label{ font-size:12px; color:var(--text2); }#jr-root .stat-card .s-val{ font-size:20px; font-weight:bold; margin-top:4px; }#jr-root .stat-card .s-sub{ font-size:11px; color:var(--text2); margin-top:2px; }#jr-root .stat-card.red .s-val{ color:var(--red); }#jr-root .stat-card.green .s-val{ color:#047857; }#jr-root .stat-card.blue .s-val{ color:var(--primary); }#jr-root .user-item{ background:var(--card); border-radius:16px; margin:5px 16px; padding:12px 14px; display:flex; align-items:center; gap:12px; row-gap:8px; flex-wrap:wrap; box-shadow:0 1px 3px rgba(0,0,0,.05); }#jr-root .user-item .u-avatar{ width:40px; height:40px; border-radius:50%; background:var(--blue-light); display:flex; align-items:center; justify-content:center; font-size:20px; overflow:hidden; flex-shrink:0; }#jr-root .user-item .u-avatar img{ width:100%; height:100%; object-fit:cover; }#jr-root .user-item .u-info{ flex:1 1 140px; min-width:0; }#jr-root .user-item .u-name{ font-weight:bold; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }#jr-root .user-item .u-sub{ font-size:12px; color:var(--text2); margin-top:2px; }#jr-root .user-item .u-actions{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; margin-left:auto; }#jr-root .tag-role{ font-size:11px; padding:2px 8px; border-radius:6px; }#jr-root .tag-role.super_admin{ background:var(--amber-light); color:#92400E; }#jr-root .tag-role.admin{ background:var(--blue-light); color:#1E40AF; }#jr-root .tag-role.user{ background:var(--gray-light); color:#4B5563; }#jr-root .tag-status{ font-size:11px; padding:2px 8px; border-radius:6px; }#jr-root .tag-status.pending{ background:var(--amber-light); color:#92400E; }#jr-root .tag-status.active{ background:var(--green-light); color:#047857; }#jr-root .tag-status.rejected{ background:var(--red-light); color:var(--red); }#jr-root .log-item{ background:var(--card); border-radius:10px; margin:5px 16px; padding:10px 12px; font-size:13px; box-shadow:0 1px 2px rgba(0,0,0,.04); }#jr-root .log-item .l-time{ color:var(--hint); font-size:11px; margin-left:6px; }#jr-root .empty{ text-align:center; color:var(--text2); padding:40px 20px; font-size:13px; }#jr-root .empty .e-ico{ font-size:40px; margin-bottom:8px; }#jr-root .toast{ position:fixed; top:15%; left:50%; transform:translateX(-50%); background:rgba(17,24,39,.9); color:#fff; padding:10px 20px; border-radius:10px; font-size:14px; z-index:999; max-width:80%; text-align:center; opacity:0; transition:opacity .3s; pointer-events:none; }#jr-root .toast.show{ opacity:1; }#jr-root .loading{ text-align:center; padding:30px; color:var(--text2); }#jr-root .spinner{ display:inline-block; width:22px; height:22px; border:3px solid var(--border); border-top-color:var(--primary); border-radius:50%; animation:spin .8s linear infinite; vertical-align:middle; margin-right:8px; }#jr-root .ptr-ind{ position:fixed; left:50%; top:10px; transform:translate(-50%,-60px); opacity:0;
  display:flex; align-items:center; gap:6px; background:#fff; color:var(--text2);
  font-size:12px; font-weight:bold; padding:7px 14px; border-radius:20px;
  box-shadow:0 4px 14px rgba(0,0,0,.14); z-index:300; pointer-events:none;
  transition:opacity .15s ease, transform .18s ease; }#jr-root .ptr-ind.show{ opacity:1; }#jr-root .ptr-ind .spinner{ width:14px; height:14px; border-width:2px; margin-right:0; }@keyframes spin{ to{ transform:rotate(360deg); } }#jr-root .content{ padding-bottom:80px; }#jr-root .content-tight{ padding-bottom:20px; }#jr-root .bottom-btn{ position:fixed; bottom:0; left:0; right:0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:linear-gradient(transparent, var(--bg) 30%); z-index:50; box-sizing:border-box; }#jr-root .bottom-btn .btn{ box-shadow:0 2px 8px rgba(59,130,246,.35); }#jr-root #home-list{ padding-bottom:100px; }#jr-root .gc-share{ --gc:#3B82F6; --gc-soft:#EFF6FF; --gc-line:rgba(59,130,246,.30); --gc-tx:#2563EB; }#jr-root .gc-priv{ --gc:#8B5CF6; --gc-soft:#F5F3FF; --gc-line:rgba(139,92,246,.30); --gc-tx:#6D28D9; }#jr-root .gc-party{ --gc:#F59E0B; --gc-soft:#FFFBEB; --gc-line:rgba(245,158,11,.36); --gc-tx:#B45309; }#jr-root .gc-corp{ --gc:#10B981; --gc-soft:#ECFDF5; --gc-line:rgba(16,185,129,.30); --gc-tx:#047857; }#jr-root .gc-view{ --gc:#94A3B8; --gc-soft:#F8FAFC; --gc-line:rgba(148,163,184,.34); --gc-tx:#64748B; }#jr-root .acc-group-head{ display:flex; align-items:center; gap:7px; margin:6px 12px 3px; padding:3px 9px;
  font-size:13px; font-weight:bold; color:var(--gc-tx,var(--text2));
  background:var(--gc-soft,transparent); border-radius:9px; }#jr-root .acc-group-head:first-child{ margin-top:8px; }#jr-root .acc-group-head .agt-icon{ display:inline-flex; align-items:center; justify-content:center;
  width:19px; height:19px; border-radius:6px; background:#fff; box-shadow:0 0 0 1px var(--border); font-size:11px; }#jr-root .acc-group-sub{ font-size:11px; font-weight:normal; color:var(--hint); }#jr-root .set-item{ background:var(--card); border-radius:16px; margin:5px 16px; padding:14px; display:flex; align-items:center; gap:12px; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.05); }#jr-root .set-item .set-icon{ width:40px; height:40px; border-radius:12px; background:var(--blue-light); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }#jr-root .set-item .set-body{ flex:1; }#jr-root .set-item .set-name{ font-size:15px; font-weight:bold; }#jr-root .set-item .set-sub{ font-size:12px; color:var(--text2); margin-top:2px; }#jr-root .set-item .set-arrow{ color:var(--hint); }#jr-root .auth-wrap{ min-height:100vh; background:linear-gradient(135deg,#3B82F6 0%,#6366F1 100%); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; }#jr-root .auth-logo{ font-size:54px; margin-bottom:8px; }#jr-root .auth-title{ color:#fff; font-size:26px; font-weight:bold; }#jr-root .auth-sub{ color:rgba(255,255,255,.85); font-size:13px; margin-top:4px; margin-bottom:28px; }#jr-root .auth-card{ width:100%; max-width:380px; background:#fff; border-radius:20px; padding:24px; box-shadow:0 10px 40px rgba(0,0,0,.25); }#jr-root .auth-card .field{ margin-bottom:14px; }#jr-root .auth-card .field input{ width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:12px; font-size:16px; outline:none; }#jr-root .auth-card .field input:focus{ border-color:var(--primary); }#jr-root .auth-links{ display:flex; justify-content:space-between; margin-top:14px; font-size:13px; color:var(--primary); }#jr-root .auth-links span{ cursor:pointer; }#jr-root .hidden-banner{ background:var(--pink-light); color:#BE185D; font-size:12px; padding:8px 16px; text-align:center; }#jr-root .me-card{ background:var(--card); border-radius:16px; margin:16px; padding:18px; display:flex; align-items:center; gap:14px; box-shadow:0 1px 3px rgba(0,0,0,.05); }#jr-root .me-card .me-avatar{ width:56px; height:56px; border-radius:50%; background:var(--blue-light); display:flex; align-items:center; justify-content:center; font-size:26px; overflow:hidden; flex-shrink:0; }#jr-root .me-card .me-avatar img{ width:100%; height:100%; object-fit:cover; }#jr-root .tool-row{ display:flex; gap:8px; flex-wrap:wrap; }#jr-root .tool-btn{ flex:1; min-width:70px; padding:10px 6px; border:1px solid var(--border); border-radius:12px;
  background:var(--card); color:var(--text1); font-size:13px; display:flex; flex-direction:column; align-items:center;
  gap:3px; cursor:pointer; -webkit-tap-highlight-color:transparent; }#jr-root .tool-btn:active{ background:var(--bg); }#jr-root .tool-btn:disabled{ opacity:.5; }#jr-root .tool-btn .tb-ico{ font-size:20px; line-height:1; }#jr-root .photo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }#jr-root .ph-item{ position:relative; aspect-ratio:1; border-radius:10px; overflow:hidden; background:var(--bg); }#jr-root .ph-item img{ width:100%; height:100%; object-fit:cover; }#jr-root .ph-del{ position:absolute; top:2px; right:2px; width:20px; height:20px; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff; font-size:11px; border:none; line-height:1; cursor:pointer; }#jr-root .loc-row{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }#jr-root .loc-row #location-view, #jr-root .loc-row .loc-txt{ flex:1 1 auto; min-width:0; word-break:break-word; overflow-wrap:anywhere; }#jr-root .loc-row .loc-del{ margin-left:auto; color:var(--text2); cursor:pointer; font-size:14px; padding:4px; }#jr-root .chip.pending-inv{ background:var(--red-light); color:var(--red); }#jr-root .chip.reimb-paid{ background:var(--green-light); color:#047857; }#jr-root .chip.reimb-ing{ background:var(--amber-light); color:#B45309; }#jr-root .chip.reimb-no{ background:#F1F5F9; color:#94A3B8; }#jr-root .reimb-line{ display:flex; gap:8px; align-items:flex-start; margin-top:10px; padding:8px 10px; border-radius:10px; font-size:12.5px; line-height:1.5; }#jr-root .reimb-line.ok{ background:var(--green-light); color:#047857; }#jr-root .reimb-line.ing{ background:var(--amber-light); color:#B45309; }#jr-root .reimb-line.no{ background:#F1F5F9; color:#64748B; }#jr-root .reimb-line-k{ flex:none; font-weight:600; }#jr-root .reimb-line-v{ min-width:0; word-break:break-all; }#jr-root .stat-card.warn-card{ background:var(--amber-light); }#jr-root .map-picker-mask{ background:rgba(0,0,0,.5); }#jr-root .map-picker-frame{ position:fixed; top:0; left:0; right:0; bottom:0; z-index:999; background:#f5f6f8; }#jr-root #view-add .header{ padding:10px 18px 12px; }#jr-root #view-add .header .h-title{ font-size:18px; margin-top:4px; }#jr-root #view-add .header .h-sub{ font-size:11px; }#jr-root #view-add .form-card{ margin:8px 16px; }#jr-root #view-add .form-card .row{ padding:9px 14px; }#jr-root #view-add .amount-card{ margin:8px 16px; padding:10px 14px; }#jr-root #view-add .amount-card input{ font-size:28px; margin-top:2px; }#jr-root #view-add .amount-card .hint{ display:none; }#jr-root #view-add .tool-btn{ padding:7px 6px; }#jr-root #view-add .tool-btn .tb-ico{ font-size:17px; }#jr-root #view-add .photo-grid{ margin-top:8px; }#jr-root #view-add .ph-item{ border-radius:8px; }#jr-root #view-add .btn-lg{ height:46px; font-size:16px; }#jr-root #view-add .loc-row{ margin-top:6px !important; padding:6px 10px !important; }#jr-root .img-preview-mask{ position:fixed; inset:0; background:rgba(0,0,0,.95); z-index:999; display:none; overflow:hidden; }#jr-root .img-preview-mask.show{ display:block; }#jr-root .img-preview-track{ position:absolute; inset:0; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }#jr-root .img-preview-track::-webkit-scrollbar{ display:none; }#jr-root .img-preview-slide{ flex:0 0 100%; width:100%; height:100%; display:flex; align-items:center; justify-content:center; scroll-snap-align:center; touch-action:pan-x pan-y; }#jr-root .img-preview-slide img{ max-width:96%; max-height:88vh; object-fit:contain; border-radius:6px; transform-origin:center center; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; }#jr-root .img-preview-close{ position:fixed; top:calc(16px + env(safe-area-inset-top)); right:16px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.2); color:#fff; font-size:20px; border:none; cursor:pointer; z-index:1000; }#jr-root .img-preview-counter{ position:fixed; top:calc(20px + env(safe-area-inset-top)); left:50%; transform:translateX(-50%); color:#fff; font-size:14px; background:rgba(0,0,0,.5); padding:4px 14px; border-radius:20px; z-index:1000; pointer-events:none; }#jr-root .img-preview-nav{ position:fixed; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.15); color:#fff; font-size:28px; line-height:44px; text-align:center; border:none; cursor:pointer; z-index:1000; }#jr-root .img-preview-prev{ left:12px; }#jr-root .img-preview-next{ right:12px; }#jr-root .img-preview-hint{ position:fixed; bottom:calc(30px + env(safe-area-inset-bottom)); left:0; right:0; text-align:center; color:#fff; font-size:13px; pointer-events:none; z-index:1000; }#jr-root .noti-bar{ display:flex; gap:16px; padding:0 2px 10px; border-bottom:0.5px solid var(--border); margin-bottom:10px; }#jr-root .noti-item{ border-radius:12px; padding:10px 12px; margin-bottom:8px; border:1px solid var(--border); background:#fff; }#jr-root .noti-item.unread{ background:var(--blue-light); border-color:#BFDBFE; }#jr-root .noti-item.read{ background:var(--bg); }#jr-root .noti-item.read .noti-title{ color:var(--text2); font-weight:normal; }#jr-root .noti-item.read .noti-text, #jr-root .noti-item.read .noti-meta{ opacity:.75; }#jr-root .noti-main{ cursor:pointer; }#jr-root .noti-title{ font-size:13px; font-weight:bold; display:flex; align-items:center; gap:5px; }#jr-root .noti-dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--red); flex-shrink:0; }#jr-root .noti-text{ font-size:12px; color:var(--text2); margin-top:3px; word-break:break-all; }#jr-root .noti-meta{ font-size:11px; color:var(--hint); margin-top:3px; }#jr-root .noti-acts{ display:flex; gap:14px; margin-top:8px; padding-top:7px; border-top:0.5px dashed var(--border); }#jr-root .link-btn.danger{ color:var(--red); }#jr-root .noti-date{ font-size:11px; font-weight:normal; color:var(--text2); background:var(--gray-light); padding:1px 6px; border-radius:8px; }#jr-root .noti-item.unread .noti-date{ background:#DBEAFE; color:#2563EB; }#jr-root .c-reply{ margin-left:34px; padding-left:10px; border-left:2px solid var(--border); }#jr-root .c-at{ color:var(--primary); font-weight:bold; margin-right:3px; }#jr-root .reply-box{ display:none; gap:8px; margin-top:7px; align-items:center; }#jr-root .reply-box.show{ display:flex; }#jr-root .reply-box input{ flex:1; min-width:0; font-size:13px; padding:7px 10px; border:1px solid var(--border); border-radius:9px; background:#fff; }#jr-root .loc-picker-mask{ position:fixed; inset:0; background:var(--bg); z-index:1200; display:none; flex-direction:column; }#jr-root .loc-picker-mask.show{ display:flex; }#jr-root .lp-head{ display:flex; align-items:center; gap:8px; padding:calc(10px + env(safe-area-inset-top)) 12px 10px; background:#fff; border-bottom:1px solid var(--border); }#jr-root .lp-input{ flex:1; min-width:0; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:9px 12px; font-size:14px; color:var(--text); outline:none; }#jr-root .lp-btn{ flex:0 0 auto; background:var(--primary); color:#fff; border:none; border-radius:10px; padding:9px 14px; font-size:14px; font-weight:bold; cursor:pointer; }#jr-root .lp-close{ flex:0 0 auto; background:var(--bg); color:var(--text2); border:1px solid var(--border); border-radius:10px; width:36px; height:36px; font-size:16px; cursor:pointer; }#jr-root .lp-mapwrap{ position:relative; flex:1; min-height:0; }#jr-root .lp-map{ width:100%; height:100%; background:#E8EDF3; }#jr-root .lp-pin{ position:absolute; left:50%; top:50%; transform:translate(-50%,-100%); width:26px; height:34px; pointer-events:none; z-index:5; }#jr-root .lp-pin::before{ content:''; position:absolute; left:50%; top:0; transform:translateX(-50%); width:26px; height:26px; background:var(--red); border:3px solid #fff; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.35); }#jr-root .lp-pin::after{ content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%); border-left:7px solid transparent; border-right:7px solid transparent; border-top:13px solid var(--red); }#jr-root .lp-results{ position:absolute; left:0; right:0; top:0; max-height:62%; overflow-y:auto; background:#fff; z-index:6; display:none; box-shadow:0 6px 16px rgba(0,0,0,.12); }#jr-root .lp-myloc{ position:absolute; right:14px; bottom:16px; width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--border); box-shadow:0 2px 8px rgba(0,0,0,.18); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:7; padding:0; }#jr-root .lp-myloc:active{ background:var(--blue-light); }#jr-root .lp-myloc.loading svg{ animation:lpSpin 1s linear infinite; }@keyframes lpSpin{ from{ transform:rotate(0); } to{ transform:rotate(360deg); } }#jr-root .lp-myloc.loading svg circle:nth-of-type(2){ stroke-dasharray:12 33; }#jr-root .lp-nudge{ position:absolute; left:14px; bottom:16px; z-index:7; display:grid; grid-template-columns:34px 34px 34px; grid-template-rows:34px 34px 34px; gap:3px; }#jr-root .nb-up{ grid-area:1/2; }#jr-root .nb-left{ grid-area:2/1; }#jr-root .nb-right{ grid-area:2/3; }#jr-root .nb-down{ grid-area:3/2; }#jr-root .lp-nb{ width:34px; height:34px; border-radius:9px; border:1px solid var(--border); background:rgba(255,255,255,.94); color:#3B82F6; font-size:11px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; box-shadow:0 1px 4px rgba(0,0,0,.14); }#jr-root .lp-nb:active{ background:var(--blue-light); }#jr-root .lp-item{ padding:12px 16px; border-bottom:1px solid var(--border); cursor:pointer; }#jr-root .lp-item:active{ background:var(--bg); }#jr-root .lp-item-name{ font-size:15px; color:var(--text); font-weight:600; }#jr-root .lp-item-addr{ font-size:12px; color:var(--hint); margin-top:2px; }#jr-root .lp-foot{ background:#fff; border-top:1px solid var(--border); padding:10px 14px calc(12px + env(safe-area-inset-bottom)); }#jr-root .lp-addr{ font-size:13px; color:var(--text2); line-height:1.4; margin-bottom:8px; min-height:18px; }#jr-root .st-chip{ display:inline-block; font-size:11px; padding:2px 7px; border-radius:10px; background:var(--gray-light); color:var(--text2); white-space:nowrap; }#jr-root .st-chip.warn{ background:var(--amber-light); color:#B45309; }#jr-root .st-chip.ok{ background:var(--green-light); color:#047857; }#jr-root .st-chip.dis{ background:var(--red-light); color:#B91C1C; }#jr-root .reimb-sec{ font-size:12px; color:var(--text2); margin:14px 0 6px; }#jr-root .reimb-empty{ font-size:12px; color:var(--hint); padding:8px 2px; }#jr-root .reimb-qbar{ display:flex; gap:8px; align-items:center; padding:0 16px; }#jr-root .reimb-qbar .reimb-q{ flex:1; width:auto; min-width:0; }#jr-root .reimb-qclr{ flex-shrink:0; border:1px solid var(--border); background:var(--card); color:var(--text2); font-size:13px; line-height:1; padding:9px 11px; border-radius:10px; cursor:pointer; }#jr-root .reimb-qclr:active{ opacity:.7; }#jr-root .reimb-qbtn{ flex-shrink:0; border:none; background:var(--accent); color:#fff; font-size:13px; font-weight:600; padding:9px 14px; border-radius:10px; cursor:pointer; white-space:nowrap; }#jr-root .reimb-qbtn:active{ opacity:.8; }#jr-root .reimb-cnt{ padding:8px 16px 0; font-size:12px; color:var(--text2); }#jr-root .reimb-q{ width:100%; box-sizing:border-box; border:1px solid var(--border); background:var(--gray-light); border-radius:10px; padding:8px 11px; font-size:13px; color:var(--text); outline:none; }#jr-root .reimb-q:focus{ border-color:var(--accent); background:var(--card); }#jr-root .reimb-tabs{ display:flex; gap:6px; overflow-x:auto; padding:10px 16px 8px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }#jr-root .reimb-tabs::-webkit-scrollbar{ display:none; }#jr-root .reimb-tab{ flex-shrink:0; font-size:12px; padding:4px 10px; border-radius:20px; background:var(--gray-light); color:var(--text2); cursor:pointer; white-space:nowrap; }#jr-root .reimb-tab.on{ background:var(--accent); color:#fff; font-weight:600; }#jr-root .reimb-path{ border-left:2px solid var(--border); padding-left:12px; }#jr-root .reimb-path-row{ position:relative; padding:5px 0 7px; }#jr-root .reimb-path-row::before{ content:''; position:absolute; left:-17px; top:10px; width:7px; height:7px; border-radius:50%; background:var(--border); }#jr-root .reimb-path-row.done::before{ background:var(--green); }#jr-root .reimb-path-t{ font-size:12px; color:var(--text); font-weight:600; }#jr-root .reimb-path-b{ font-size:11px; color:var(--text2); margin-top:2px; }#jr-root .reimb-path-note{ font-size:11px; color:var(--text2); margin-top:3px; background:var(--gray-light); border-radius:8px; padding:4px 8px; overflow-wrap:anywhere; }#jr-root .reimb-item{ display:flex; align-items:center; gap:8px; padding:9px 2px; border-bottom:1px solid var(--border); }#jr-root .reimb-item:last-child{ border-bottom:none; }#jr-root .reimb-main{ flex:1 1 0; min-width:0; cursor:pointer; }#jr-root .reimb-no{ font-size:13px; font-weight:bold; color:var(--text); display:flex; align-items:center; gap:6px; flex-wrap:wrap; }#jr-root .reimb-meta{ font-size:11px; color:var(--text2); margin-top:2px; }#jr-root .reimb-note{ font-size:11px; color:#B45309; margin-top:3px; }#jr-root .reimb-right{ text-align:right; flex-shrink:0; }#jr-root .reimb-amt{ font-size:14px; font-weight:bold; color:#DC2626; }#jr-root .reimb-btns{ display:flex; gap:8px; margin-top:3px; justify-content:flex-end; }#jr-root .reimb-tools{ display:flex; gap:12px; margin-bottom:6px; }#jr-root .reimb-total{ margin-top:8px; padding:8px 10px; background:var(--gray-light); border-radius:10px; font-size:13px; color:var(--text); }#jr-root .pick-item{ display:flex; align-items:center; gap:8px; padding:8px 2px; border-bottom:1px solid var(--border); cursor:pointer; }#jr-root .pick-item:last-child{ border-bottom:none; }#jr-root .pick-item input[type=checkbox]{ width:18px; height:18px; flex-shrink:0; }#jr-root .reimb-hero{ margin:0 16px 12px; padding:14px 16px; border-radius:16px; background:linear-gradient(135deg,#3B82F6,#6366F1); color:#fff; }#jr-root .reimb-hero-amt{ font-size:28px; font-weight:bold; line-height:1.15; }#jr-root .reimb-hero-sub{ font-size:12px; opacity:.9; margin-top:3px; }#jr-root .reimb-prog{ margin:10px 0 2px; }#jr-root .reimb-prog-bar{ height:6px; border-radius:6px; background:var(--border); overflow:hidden; }#jr-root .reimb-prog-bar i{ display:block; height:100%; background:#10B981; border-radius:6px; transition:width .25s; }#jr-root .reimb-prog-t{ font-size:12px; color:var(--text2); margin-top:5px; }#jr-root .reimb-drow{ border:1px solid var(--border); border-radius:12px; padding:9px 10px; margin-bottom:8px; }#jr-root .reimb-drow-main{ display:flex; align-items:center; gap:9px; cursor:pointer; }#jr-root .reimb-drow-act{ display:flex; align-items:center; gap:8px; margin-top:8px; padding-top:8px; border-top:1px dashed var(--border); }#jr-root .reimb-pick{ display:flex; align-items:center; gap:5px; font-size:12px; color:var(--text2); margin-right:auto; }#jr-root .reimb-pick input{ width:16px; height:16px; }#jr-root .reimb-act{ border:none; border-radius:8px; padding:6px 12px; font-size:12.5px; font-weight:bold; cursor:pointer; }#jr-root .reimb-act.ok{ background:var(--green-light); color:#047857; }#jr-root .reimb-act.no{ background:var(--red-light); color:#B91C1C; }#jr-root .reimb-btns{ display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; margin-top:5px; }#jr-root .reimb-btns .link-btn{ font-size:12px; }#jr-root .reimb-rej-row{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:12px; background:#FEF2F2; margin-bottom:7px; }#jr-root .reimb-rej-why{ font-size:11.5px; color:#B91C1C; margin-top:3px; }#jr-root .pick-item.pick-off{ opacity:.55; }#jr-root .pick-item.pick-off .tx-amount{ color:var(--text2); }#jr-root .pick-block{ font-size:11px; color:#B45309; margin-top:3px; }#jr-root .help-wrap{ font-size:13px; color:var(--text); line-height:1.65; }#jr-root .help-lead{ background:var(--blue-light); color:var(--primary); padding:9px 11px; border-radius:10px; margin-bottom:12px; font-size:12.5px; }#jr-root .help-h{ font-size:14px; font-weight:bold; margin:14px 0 6px; color:var(--text); }#jr-root .help-ol div{ padding:2px 0; }#jr-root .help-tbl div{ display:flex; align-items:center; gap:7px; padding:4px 0; flex-wrap:wrap; }#jr-root .help-tbl b{ color:var(--text); }#jr-root .help-tip{ font-size:11.5px; color:var(--text2); background:var(--gray-light); padding:7px 10px; border-radius:9px; margin-top:6px; }#jr-root .reimb-dl{ background:var(--gray-light); border-radius:12px; padding:10px 12px; }#jr-root .reimb-dl-row{ display:flex; justify-content:space-between; font-size:12px; padding:3px 0; gap:10px; }#jr-root .reimb-dl-row span{ color:var(--text2); flex-shrink:0; }#jr-root .reimb-dl-row b{ color:var(--text); text-align:right; font-weight:600; word-break:break-all; }#jr-root .corp-bal{ text-align:center; margin-top:10px; }#jr-root .corp-bal-lbl{ font-size:12px; color:#CCFFFFFF; letter-spacing:.5px; }#jr-root .corp-bal-num{ font-size:34px; font-weight:bold; color:#fff; letter-spacing:-0.5px; margin-top:2px; }#jr-root .corp-mon{ display:flex; gap:6px; margin-top:14px; background:rgba(255,255,255,.15); border-radius:12px; padding:10px 2px; }#jr-root .corp-mon-c{ flex:1; text-align:center; min-width:0; }#jr-root .cm-lbl{ font-size:11px; color:#CCFFFFFF; margin-bottom:3px; }#jr-root .cm-num{ font-size:14px; font-weight:bold; color:#fff; white-space:nowrap; }#jr-root .cm-num.in{ color:#6EE7B7; }#jr-root .cm-num.out{ color:#FCA5A5; }#jr-root .corp-txn{ display:flex; align-items:center; gap:10px; background:#fff; border-radius:12px; padding:12px 14px; margin:8px 12px; box-shadow:0 1px 3px rgba(0,0,0,.06); cursor:pointer; }#jr-root .corp-txn:active{ background:#F9FAFB; }#jr-root .ct-ico{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:bold; flex-shrink:0; }#jr-root .ct-ico.in{ background:#D1FAE5; color:#047857; }#jr-root .ct-ico.out{ background:#FEE2E2; color:#B91C1C; }#jr-root .ct-body{ flex:1; min-width:0; }#jr-root .ct-note{ font-size:15px; font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }#jr-root .ct-meta{ font-size:11px; color:var(--hint); margin-top:3px; }#jr-root .ct-amt{ font-size:16px; font-weight:bold; white-space:nowrap; flex-shrink:0; }#jr-root .ct-amt.in{ color:#047857; }#jr-root .ct-amt.out{ color:#B91C1C; }#jr-root .ct-ico.occ{ background:#D1FAE5; color:#047857; }#jr-root .ct-ico.rep{ background:#FEE2E2; color:#B91C1C; }#jr-root .ct-amt.occ{ color:#047857; }#jr-root .ct-amt.rep{ color:#B91C1C; }#jr-root .corp-opening-tip{ font-size:12px; color:rgba(255,255,255,.75); margin-top:3px; }#jr-root .corp-opening-pending{ margin:10px 14px 0; padding:12px 14px; background:#FFFBEB; border:1px solid #FDE68A; border-radius:12px; }#jr-root .obp-txt{ font-size:13px; color:#92400E; line-height:1.65; }#jr-root .obp-acts{ display:flex; gap:8px; margin-top:10px; }#jr-root .obp-acts .btn{ flex:1; margin:0; }#jr-root .corp-bottom{ display:flex; gap:10px; }#jr-root .corp-bottom .btn{ flex:1; }#jr-root .corp-in{ background:linear-gradient(135deg,#10B981,#059669); color:#fff; }#jr-root .corp-out{ background:linear-gradient(135deg,#EF4444,#DC2626); color:#fff; }#jr-root .dir-seg{ display:flex; border-radius:10px; overflow:hidden; border:1px solid var(--border); }#jr-root .dir-btn{ padding:7px 20px; border:none; background:var(--bg); color:var(--text2); font-size:14px; font-weight:bold; cursor:pointer; }#jr-root .dir-btn.on{ background:linear-gradient(135deg,#3B82F6,#6366F1); color:#fff; }#jr-root #confirm-text{ white-space:pre-line; }#jr-root .corp-txn.pend{ background:#FFFBEB; box-shadow:inset 3px 0 0 #F59E0B, 0 1px 3px rgba(0,0,0,.06); }#jr-root .corp-txn.rej{ background:#FEF2F2; box-shadow:inset 3px 0 0 #EF4444, 0 1px 3px rgba(0,0,0,.06); }#jr-root .pt-chip{ display:inline-block; margin-left:6px; padding:1px 6px; border-radius:6px; font-size:10px; font-weight:600; vertical-align:1px; }#jr-root .pt-chip.pend{ background:#FEF3C7; color:#92400E; }#jr-root .pt-chip.rej{ background:#FEE2E2; color:#B91C1C; }#jr-root .pt-rej-note{ font-size:11px; color:#B91C1C; margin-top:4px; line-height:1.5; }#jr-root .pt-acts{ display:flex; flex-direction:column; gap:5px; flex-shrink:0; }#jr-root .pt-btn{ border:0; border-radius:8px; padding:6px 10px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; }#jr-root .pt-btn.ok{ background:#059669; color:#fff; }#jr-root .pt-btn.no{ background:#F3F4F6; color:#B91C1C; }#jr-root .acc-group-toggle{ cursor:pointer; user-select:none; align-items:center; }#jr-root .acc-group-toggle:active{ opacity:.65; }#jr-root .agt-arrow{ display:inline-block; width:13px; font-size:11px; color:var(--hint); }#jr-root .agt-more{ margin-left:auto; font-size:11px; font-weight:normal; color:var(--gc-tx,var(--accent,#3B82F6)); }#jr-root .acc-group-fold{ display:flex; align-items:center; gap:8px; position:relative; z-index:1;
  margin:7px 12px 9px; padding:7px 11px; cursor:pointer; user-select:none; -webkit-tap-highlight-color:transparent;
  border-radius:10px; background:var(--gc-soft,var(--blue-light)); }#jr-root .acc-group-fold:active{ opacity:.72; }#jr-root .acc-group-fold::after{ content:''; position:absolute; left:7px; right:7px; top:100%; height:8px;
  border-radius:0 0 10px 10px; background:var(--gc-soft,var(--blue-light)); opacity:.8; z-index:-1;
  box-shadow:0 2px 4px rgba(15,23,42,.05); }#jr-root .acc-group-fold .agf-icon{ display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:22px; height:22px; border-radius:7px; background:#fff; box-shadow:0 0 0 1px var(--border); font-size:12px; }#jr-root .acc-group-fold .agf-body{ flex:1; min-width:0; }#jr-root .acc-group-fold .agf-name{ font-size:12.5px; font-weight:bold; color:var(--gc-tx,var(--text2)); }#jr-root .acc-group-fold .agf-sub{ font-size:11px; color:var(--hint); margin-top:1px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#jr-root .acc-toggle-pill{ font-size:11.5px; font-weight:600; color:var(--gc-tx,var(--primary)); background:#fff;
  padding:3px 10px; border-radius:12px; white-space:nowrap; flex:none; box-shadow:0 0 0 1px var(--border); }#jr-root .acc-group-body{ margin-left:16px; }#jr-root .acc-group-body > .acc-item{ margin-left:0; margin-right:16px; }#jr-root .noti-sec{ font-size:12px; color:var(--text2); margin:14px 16px 7px; }#jr-root .noti-empty{ font-size:12.5px; color:var(--hint); padding:14px 16px; }#jr-root .noti-todo{ display:flex; align-items:center; gap:10px; margin:0 16px 8px; padding:11px 12px;
  border-radius:13px; background:var(--blue-light); border:1px solid rgba(59,130,246,.18); }#jr-root .noti-todo-ic{ font-size:20px; flex:none; }#jr-root .noti-todo-body{ flex:1; min-width:0; }#jr-root .noti-todo-ttl{ font-size:13.5px; font-weight:bold; color:var(--text); display:flex; align-items:center; }#jr-root .noti-todo-sub{ font-size:12px; color:var(--text2); margin-top:3px; line-height:1.45; word-break:break-all; }#jr-root .noti-todo-t{ font-size:11px; color:var(--hint); margin-top:3px; }#jr-root .noti-go{ flex:none; border:none; border-radius:9px; padding:7px 11px; font-size:12.5px; font-weight:bold;
  background:var(--primary); color:#fff; cursor:pointer; }#jr-root .noti-go:active{ opacity:.75; }#jr-root .noti-row{ display:flex; align-items:flex-start; gap:9px; margin:0 16px 7px; padding:10px 11px;
  border-radius:12px; background:#fff; border:1px solid var(--border); }#jr-root .noti-row.unread{ background:#F8FAFF; border-color:rgba(59,130,246,.2); }#jr-root .noti-row .noti-ck{ width:17px; height:17px; flex:none; margin-top:2px; }#jr-root .noti-row-main{ flex:1; min-width:0; cursor:pointer; }#jr-root .noti-row .noti-title{ font-size:13px; font-weight:600; color:var(--text); }#jr-root .noti-row.read .noti-title{ color:var(--text2); font-weight:normal; }#jr-root .noti-row .noti-text{ font-size:12.5px; color:var(--text2); margin-top:3px; line-height:1.45; word-break:break-all; }#jr-root .noti-row .noti-meta{ font-size:11px; color:var(--hint); margin-top:4px; }#jr-root .noti-row .noti-dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:#EF4444; margin-right:5px; vertical-align:middle; }#jr-root .noti-date{ color:var(--hint); font-size:11px; }#jr-root .noti-sec{ display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--text2);
  margin:16px 16px 8px; padding-left:9px; border-left:3px solid #3B82F6; line-height:1.25; }#jr-root .noti-sec:first-child{ margin-top:4px; }#jr-root .noti-sec .ns-cnt{ font-weight:normal; color:var(--hint); }#jr-root .noti-empty{ text-align:center; padding:24px 18px; margin:0 16px 8px; border-radius:14px;
  background:linear-gradient(180deg,#FAFBFF 0%,#F6F8FE 100%); border:1px dashed rgba(59,130,246,.24); }#jr-root .noti-empty .ne-ic{ font-size:32px; line-height:1; margin-bottom:10px; }#jr-root .noti-empty .ne-ttl{ font-size:13.5px; font-weight:600; color:var(--text2); }#jr-root .noti-empty .ne-sub{ font-size:11.5px; color:var(--hint); margin-top:6px; line-height:1.55; }#jr-root .noti-foot{ text-align:center; font-size:11px; color:var(--hint); padding:16px 16px 26px; }#jr-root .edit-item{padding:10px 12px;margin-top:8px;background:var(--gray-light);border-radius:8px;border-left:3px solid var(--primary);}#jr-root .detail-edits{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.12);}#jr-root .edit-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;}#jr-root .edit-who{font-size:13px;font-weight:600;color:var(--text);}#jr-root .edit-time{font-size:11px;color:var(--hint);}#jr-root .edit-changes{font-size:13px;color:var(--text2);line-height:1.75;}#jr-root .edit-ch{word-break:break-all;}#jr-root .chip.edited{background:var(--amber-light);color:#B45309;}#jr-root .modal-close-fixed.modal-help-fixed{ right:60px !important; font-size:16px; font-weight:700; }#jr-root .modal-close-fixed.modal-share-fixed{ right:104px !important; }#jr-root .reimb-settle{ border:1px solid #FCD34D; border-radius:12px; padding:10px; margin-bottom:8px; background:#FFFBEB; }#jr-root .reimb-settle .rs-row{ display:flex; align-items:center; gap:9px; padding:4px 0; }#jr-root .reimb-settle .rs-row + .rs-row{ border-top:1px dashed #FCD34D; margin-top:4px; padding-top:8px; }#jr-root .reimb-settle .rs-dot{ flex:0 0 22px; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:bold; }#jr-root .reimb-settle .rs-dot.off{ background:#FDE68A; color:#92400E; }#jr-root .reimb-settle .rs-dot.ok{ background:var(--green-light); color:#047857; }#jr-root .reimb-settle .rs-txt{ flex:1 1 0; min-width:0; font-size:13px; color:var(--text); line-height:1.5; }#jr-root .reimb-settle .rs-sub{ font-size:12px; color:var(--text2); }#jr-root .reimb-settle .btn.small{ flex:0 0 auto; margin:0; }#jr-root .reimb-settle > .btn.small{ width:100%; margin-top:6px; }#jr-root #corp-lock-tip{
  margin: 8px 14px 0; padding: 7px 11px;
  font-size: 11.5px; line-height: 1.5;
  color: #92400E; background: #FEF3C7;
  border: 1px solid #FDE68A; border-radius: 9px;
}#jr-root{ --app-max:480px; }@media (min-width:640px){#jr-root{ background:#e6e8ec; }#jr-root{ max-width:var(--app-max); margin:0 auto; min-height:100vh;
        box-shadow:0 0 0 1px rgba(0,0,0,.06),0 10px 40px rgba(0,0,0,.10); }#jr-root .bottom-btn{ left:50%; right:auto; transform:translateX(-50%); width:100%; max-width:var(--app-max); }#jr-root .modal-mask, #jr-root .loc-picker-mask{ left:50%; right:auto; transform:translateX(-50%); width:100%; max-width:var(--app-max); }#jr-root .toast{ max-width:calc(var(--app-max) - 32px); }
}#jr-root .dm-list-item{ display:flex; align-items:center; gap:12px; padding:13px 16px; background:var(--card); border-bottom:1px solid var(--border); cursor:pointer; }#jr-root .dm-list-item:active{ background:var(--gray-light); }#jr-root .dm-list-item.dm-group-item{ background:var(--blue-light); }#jr-root .dm-avatar{ flex:0 0 42px; width:42px; height:42px; border-radius:50%; background:var(--gray-light); display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--text2); overflow:hidden; }#jr-root .dm-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }#jr-root .dm-sender-avatar{ display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; background:var(--gray-light); font-size:10px; overflow:hidden; flex:0 0 auto; margin-right:4px; }#jr-root .dm-sender-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }#jr-root .dm-main{ flex:1; min-width:0; }#jr-root .dm-top{ display:flex; align-items:center; gap:6px; }#jr-root .dm-name{ font-size:15px; font-weight:600; color:var(--text); flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#jr-root .dm-atme{ flex:0 0 auto; font-size:10px; color:#fff; background:var(--red); padding:1px 5px; border-radius:8px; }#jr-root .dm-sub{ flex:0 0 auto; font-size:11px; color:var(--hint); }#jr-root .dm-time{ margin-left:auto; flex:0 0 auto; font-size:11px; color:var(--hint); }#jr-root .dm-bottom{ display:flex; align-items:center; gap:6px; margin-top:3px; }#jr-root .dm-last{ flex:1; min-width:0; font-size:13px; color:var(--text2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#jr-root .dm-badge{ flex:0 0 auto; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--red); color:#fff; font-size:11px; line-height:18px; text-align:center; box-sizing:border-box; }#jr-root #dm-pick-body .dm-list-item:last-child{ border-bottom:none; }#jr-root #page-chat.active{ display:flex; flex-direction:column; height:100vh; height:100dvh; overflow:hidden; }#jr-root .dm-chat-body{ flex:1; overflow-y:auto; padding:12px 14px 8px; }#jr-root .dm-load-more{ display:block; margin:2px auto 10px; padding:6px 14px; border:1px solid var(--border); border-radius:14px; background:var(--card); color:var(--text2); font-size:12px; cursor:pointer; }#jr-root .dm-day-sep{ text-align:center; font-size:11px; color:var(--hint); margin:10px 0; }#jr-root .dm-bubble-row{ display:flex; margin:6px 0; }#jr-root .dm-bubble-row.mine{ justify-content:flex-end; }#jr-root .dm-bubble-row.other{ justify-content:flex-start; }#jr-root .dm-bubble-wrap{ display:flex; flex-direction:column; max-width:78%; min-width:0; }#jr-root .dm-bubble-row.mine .dm-bubble-wrap{ align-items:flex-end; }#jr-root .dm-bubble-row.other .dm-bubble-wrap{ align-items:flex-start; }#jr-root .dm-sender{ font-size:11px; color:var(--text2); margin:0 4px 3px; }#jr-root .dm-bubble{ max-width:100%; padding:9px 12px; border-radius:14px; font-size:14px; line-height:1.5; word-break:break-word; white-space:pre-wrap; }#jr-root .dm-bubble.mine{ background:var(--primary); color:#fff; border-bottom-right-radius:4px; }#jr-root .dm-bubble.other{ background:var(--card); color:var(--text); border:1px solid var(--border); border-bottom-left-radius:4px; }#jr-root .dm-bubble.recallable{ cursor:pointer; }#jr-root .dm-bubble.deleted{ opacity:.65; font-style:italic; }#jr-root .dm-bubble.mentioned{ border:2px solid #F59E0B; }#jr-root .dm-bubble.dm-card{ background:var(--blue-light); color:var(--primary-dark); border:1px solid #BFDBFE; cursor:pointer; }#jr-root .dm-time{ font-size:10px; color:var(--hint); margin:2px 4px 0; }#jr-root .dm-chat-input{ position:relative; display:flex; gap:8px; align-items:center; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:var(--card); border-top:1px solid var(--border); }#jr-root .dm-chat-input input, #jr-root .dm-chat-input textarea{ flex:1; min-width:0; height:38px; padding:0 12px; border:1px solid var(--border); border-radius:19px; font-size:14px; outline:none; background:var(--bg); resize:none; font-family:inherit; line-height:36px; }#jr-root .dm-chat-input .btn{ display:flex; align-items:center; justify-content:center; text-align:center; }#jr-root .dm-chat-input .btn{ margin:0; padding:0 18px; height:38px; width:auto; flex:0 0 auto; }#jr-root .dm-mention-pop{ position:absolute; left:12px; right:12px; bottom:calc(100% + 4px); max-height:220px; overflow-y:auto; background:var(--card); border:1px solid var(--border); border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.12); z-index:5; }#jr-root .dm-mention-item{ padding:10px 12px; font-size:14px; cursor:pointer; border-bottom:1px solid var(--gray-light); }#jr-root .dm-mention-item:last-child{ border-bottom:none; }#jr-root .dm-mention-item:active{ background:var(--gray-light); }#jr-root .dm-mention-all{ background:var(--blue-light); color:var(--primary); font-weight:600; }#jr-root .dm-mention-all:active{ background:#DBEAFE; }#jr-root .dm-plus-btn{ flex:0 0 auto; width:38px; height:38px; padding:0; border:1px solid var(--border); border-radius:19px; background:var(--bg); color:var(--text2); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }#jr-root .dm-plus-btn:active{ background:var(--gray-light); }#jr-root .dm-plus-panel{ position:absolute; left:12px; right:12px; bottom:calc(100% + 6px); display:flex; gap:8px; padding:10px; background:var(--card); border:1px solid var(--border); border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.12); z-index:6; }#jr-root .dm-plus-item{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:10px 4px; border:1px solid var(--gray-light); border-radius:10px; background:var(--bg); color:var(--text); font-size:13px; cursor:pointer; white-space:nowrap; }#jr-root .dm-plus-item:active{ background:var(--gray-light); }#jr-root .dm-plus-ico{ font-size:22px; line-height:1; }#jr-root .dm-bubble.dm-img{ padding:3px; background:transparent; border:none; }#jr-root .dm-bubble.dm-img img{ display:block; max-width:200px; max-height:260px; border-radius:10px; cursor:zoom-in; }#jr-root .dm-bubble .dm-attach-card{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.22); cursor:pointer; }#jr-root .dm-bubble.other .dm-attach-card{ background:var(--gray-light); }#jr-root .dm-attach-ico{ flex:0 0 auto; font-size:22px; line-height:1; }#jr-root .dm-attach-main{ min-width:0; display:flex; flex-direction:column; }#jr-root .dm-attach-name{ font-size:14px; font-weight:600; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#jr-root .dm-attach-meta{ font-size:12px; opacity:.8; }#jr-root .dm-img-viewer{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.85); cursor:zoom-out; }#jr-root .dm-img-viewer img{ max-width:94vw; max-height:94vh; border-radius:8px; }#jr-root .site-footer{ text-align:center; font-size:12px; line-height:1.6; color:var(--text2,#9CA3AF); padding:16px 16px calc(86px + env(safe-area-inset-bottom)); }#jr-root .site-footer a{ color:var(--text2,#9CA3AF); text-decoration:none; }#jr-root .site-footer .beian-icon{ width:14px; height:15px; vertical-align:-2px; margin:0 3px 0 0; }#jr-root .site-footer .beian-link{ display:inline-block; }#jr-root .modal .modal-title .help-close{ position:absolute; right:0; top:-4px; width:30px; height:30px; padding:0; font-size:15px; color:#6B7280; background:#F3F4F6; border:1px solid #E5E7EB; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; }#jr-root .modal .modal-title .help-close:hover{ background:#E5E7EB; color:#374151; }#jr-root .modal .modal-title .help-close:active{ background:#D1D5DB; }

/* ===== rw ===== */
#rw-root *{ margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }#rw-root{
  --primary:#B98457; --primary-dark:#9C6B41; --primary2:#D8A876;
  --bg:#F3F5F9; --card:#FFFFFF; --text:#1F2937; --text2:#6B7280;
  --red:#EF4444; --green:#10B981; --border:#E5E7EB;
  --blue-light:#FDF7F0; --amber-light:#FEF3C7; --green-light:#D1FAE5;
  --pink-light:#FCE7F3; --red-light:#FEE2E2; --gray-light:#F3F4F6;
  --dash-blue:#F3DDC4; --hint:#9CA3AF;
}#rw-root, #rw-root{ height:100%; }#rw-root{ font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; background:var(--bg); color:var(--text); font-size:15px; }#rw-root .page{ display:none; min-height:100vh; }#rw-root .page.active{ display:block; }#rw-root .header{ background:linear-gradient(135deg,#B98457 0%,#D8A876 100%); border-radius:0 0 24px 24px; padding:14px 16px 18px; color:#fff; }#rw-root .header .h-row{ display:flex; align-items:center; gap:8px; }#rw-root .header .h-back{ background:rgba(255,255,255,.2); border:none; color:#fff; width:30px; height:30px; border-radius:8px; font-size:15px; line-height:1; cursor:pointer; }#rw-root .header .h-avatar{ padding:0; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; }#rw-root .header .h-avatar img{ display:block; width:100%; height:100%; object-fit:cover; }#rw-root .header .h-back-label{ color:#E6FFFFFF; font-size:14px; }#rw-root .header .h-spacer{ flex:1; }#rw-root .header .h-btn{ background:rgba(255,255,255,.18); border:none; color:#fff; min-width:34px; height:30px; padding:0 10px; border-radius:8px; font-size:13px; cursor:pointer; }#rw-root .header .h-title{ color:#fff; font-size:22px; font-weight:bold; margin-top:8px; }#rw-root .header .h-sub{ color:#BFFFFFFF; font-size:12px; margin-top:2px; }#rw-root .header .h-greet{ color:#E4FFFFFF; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex-shrink:1; min-width:0; }#rw-root .header .h-logo-row{ display:flex; align-items:baseline; gap:8px; margin-top:2px; }#rw-root .header .h-logo{ color:#fff; font-size:24px; font-weight:bold; flex-shrink:0; letter-spacing:.3px; }#rw-root .header .h-tagline{ color:#CFFFFFFF; font-size:11px; margin-left:auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }#rw-root .header .h-row > .h-back, #rw-root .header .h-row > .h-btn{ flex-shrink:0; }#rw-root #view-home .header .h-row{ gap:6px; flex-wrap:nowrap; }#rw-root #view-home .header .h-row > .h-btn{ min-width:30px; height:30px; padding:0 6px; font-size:15px; }#rw-root .header .h-summary{ position:relative; background:rgba(255,255,255,.97);
  border:1px solid rgba(15,23,42,.06); border-radius:16px; margin-top:10px; padding:9px 12px; display:block;
  box-shadow:0 2px 10px rgba(15,23,42,.16); overflow:hidden; }#rw-root .header .h-summary::after{ content:''; position:absolute; right:-30px; top:-40px; width:110px; height:110px; border-radius:50%;
  background:none; pointer-events:none; }#rw-root .header .h-summary .hs-top{ display:flex; align-items:baseline; gap:7px; }#rw-root .header .h-summary .lbl{ color:var(--text2); font-size:12.5px; letter-spacing:.3px; }#rw-root .header .h-summary .val{ color:var(--text); font-size:23px; font-weight:700; line-height:1; }#rw-root .header .h-summary .unit{ color:var(--text2); opacity:1; font-size:12px; }#rw-root .header .h-summary .hs-bg{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 16%, #000 84%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 16%, #000 84%, rgba(0,0,0,0) 100%); }#rw-root .header .h-summary .hs-act-track{ animation:hsActScroll linear infinite; }#rw-root .header .h-summary .hs-act-item{ display:block; height:22px; line-height:22px; padding:0 14px 0 16px; font-size:11.5px;
  color:rgba(37,99,235,.34); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:right;
  }#rw-root .header .h-summary .hs-top, #rw-root .header .h-summary .hs-chips{ position:relative; z-index:1; }@keyframes hsActScroll{ from{ transform:translateY(0); } to{ transform:translateY(-50%); } }#rw-root .header .h-summary .hs-chips{ display:flex; flex-wrap:nowrap; gap:5px; margin-top:7px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }#rw-root .header .h-summary .hs-chips::-webkit-scrollbar{ display:none; }#rw-root .header .h-summary .hs-chip{ background:var(--gray-light); border:1px solid var(--border); border-radius:999px;
  padding:3px 8px; font-size:11.5px; color:var(--text); display:inline-flex; align-items:center; gap:4px;
  box-shadow:0 1px 2px rgba(15,23,42,.06); transition:transform .12s ease, background .12s ease; }#rw-root .header .h-summary .hs-chip:active{ transform:scale(.96); background:#E5E7EB; }#rw-root .header .h-summary .hs-chip b{ font-weight:700; font-size:12px; }#rw-root .header .h-summary .hs-chip.claim{ box-shadow:0 1px 3px rgba(15,23,42,.10), inset 3px 0 0 #F59E0B; }#rw-root .header .h-summary .hs-chip.working{ box-shadow:0 1px 3px rgba(15,23,42,.10), inset 3px 0 0 #60A5FA; }#rw-root .header .h-summary .hs-chip.created{ box-shadow:0 1px 3px rgba(15,23,42,.10), inset 3px 0 0 #C084FC; }#rw-root .header .h-summary .hs-chip.personal{ box-shadow:0 1px 3px rgba(15,23,42,.10), inset 3px 0 0 #34D399; }#rw-root .header .h-summary .hs-chip.pending{ box-shadow:0 1px 3px rgba(15,23,42,.10), inset 3px 0 0 #EF4444; }#rw-root .header .h-summary .hs-none{ font-size:12px; color:var(--text2); margin-top:6px; display:flex; align-items:center; gap:6px; }#rw-root .header .h-summary .lbl{ color:var(--text2); font-size:12px; }#rw-root .header .h-summary .val{ color:var(--text); font-size:22px; font-weight:bold; }#rw-root .header .h-summary .unit{ color:var(--text2); font-size:13px; }#rw-root .card{ background:var(--card); border-radius:16px; margin:10px 16px; padding:14px; box-shadow:0 1px 3px rgba(0,0,0,.05); }#rw-root .card.no-margin{ margin:0; }#rw-root .section-title{ padding:9px 14px 3px; font-size:14px; font-weight:bold; color:var(--text); }#rw-root .acc-item{ background:var(--card); border-radius:12px; margin:3px 12px; padding:9px 11px; display:flex; align-items:center; gap:9px; row-gap:6px; flex-wrap:wrap; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.05); }#rw-root .acc-item .acc-icon{ width:34px; height:34px; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; box-shadow:0 0 0 1px var(--border); }#rw-root .acc-icon-img{ width:20px; height:20px; border-radius:6px; object-fit:cover; display:block; }#rw-root .gc-share{ --gc:#B98457; --gc-soft:#FDF7F0; --gc-tx:#9C6B41; }#rw-root .gc-priv{ --gc:#8B5CF6; --gc-soft:#F5F3FF; --gc-tx:#6D28D9; }#rw-root .gc-pin{ --gc:#F59E0B; --gc-soft:#FFFBEB; --gc-tx:#B45309; }#rw-root .acc-group-head{ display:flex; align-items:center; gap:7px; margin:6px 12px 3px; padding:3px 9px;
  font-size:13px; font-weight:bold; color:var(--gc-tx,var(--text2));
  background:var(--gc-soft,transparent); border-radius:9px; }#rw-root .acc-group-head .agt-icon{ display:inline-flex; align-items:center; justify-content:center;
  width:19px; height:19px; border-radius:6px; background:#fff; box-shadow:0 0 0 1px var(--border); font-size:11px; flex:none; }#rw-root .acc-group-sub{ font-size:11px; font-weight:normal; color:var(--hint); white-space:nowrap; }#rw-root .acc-group-head .sec-head-txt{ white-space:nowrap; }#rw-root .acc-group-head.grp-foldable{ cursor:pointer; }#rw-root .acc-group-head .grp-n{ flex:0 0 auto; font-size:12px; color:var(--gc-tx,#64748B); opacity:.9; }#rw-root .acc-toggle-pill{ font-size:11.5px; font-weight:600; color:var(--gc-tx,var(--primary)); background:#fff;
  padding:3px 10px; border-radius:12px; white-space:nowrap; flex:none; box-shadow:0 0 0 1px var(--border); }#rw-root .acc-group-head.grp-foldable:active .acc-toggle-pill{ background:#F1F5F9; }#rw-root .acc-group-head .grp-sort{ margin-right:12px; }#rw-root .acc-group-body.folded-hide{ display:none; }#rw-root .acc-group-body{ margin-left:16px; }#rw-root .acc-group-body > .acc-item{ margin-left:0; margin-right:12px; }#rw-root .acc-group-body > .swipe-row{ margin:3px 12px 3px 0; }#rw-root .pin-card{ background:var(--card); border-radius:14px; margin:5px 16px 5px 0; padding:10px 12px; box-shadow:0 1px 3px rgba(0,0,0,.05); cursor:pointer; }#rw-root .pin-card .pin-top{ display:flex; align-items:center; gap:6px; }#rw-root .pin-card .pin-title{ font-size:15px; font-weight:bold; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#rw-root .pin-card .pin-meta{ font-size:12px; color:var(--text2); margin-top:4px; }#rw-root .pin-card .pin-prog{ font-size:12px; color:var(--text2); margin-top:2px; line-height:1.5; word-break:break-all; }#rw-root .pin-card .pin-foot{ font-size:11px; color:var(--hint); margin-top:4px; }@media (max-width:365px){#rw-root .acc-group-head{ font-size:12.5px; padding:5px 8px; }#rw-root .acc-group-head .acc-group-sub{ display:none; }#rw-root .acc-group-head.sec-head-mine{ gap:6px; }#rw-root .acc-group-head.sec-head-mine .btn-quick{ padding:0 10px; }  
}#rw-root .acc-item .acc-body{ flex:1 1 140px; min-width:0; }#rw-root .acc-item .acc-name{ font-size:14.5px; font-weight:bold; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#rw-root .acc-item .acc-desc{ font-size:11px; color:var(--text2); margin-top:1px; }#rw-root .acc-item .acc-right{ text-align:right; flex-shrink:0; margin-left:auto; }#rw-root .acc-item .acc-balance{ font-size:15px; font-weight:bold; color:var(--text); }#rw-root .acc-item .acc-tag{ font-size:10px; color:var(--text2); margin-top:1px; }#rw-root .tx-item{ background:var(--card); border-radius:12px; margin:3px 12px; padding:9px 11px; display:flex; align-items:center; gap:9px; row-gap:5px; flex-wrap:wrap; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.04); }#rw-root .tx-item .tx-icon{ width:32px; height:32px; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; box-shadow:0 0 0 1px var(--border); }#rw-root .tx-item .tx-body{ flex:1 1 120px; min-width:0; }#rw-root .tx-item .tx-note{ font-size:14px; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#rw-root .tx-item .tx-meta{ display:flex; align-items:center; gap:6px; margin-top:3px; flex-wrap:wrap; }#rw-root .tx-item .tx-amount{ font-size:14.5px; font-weight:bold; color:var(--text); flex-shrink:0; margin-left:auto; }#rw-root .tx-item .tx-amount.out{ color:var(--red); }#rw-root .tx-day{ display:flex; justify-content:space-between; padding:8px 14px 1px; font-size:12.5px; font-weight:bold; color:var(--text); }#rw-root .tx-day .day-total{ color:var(--text); }#rw-root .chip{ display:inline-block; padding:2px 8px; border-radius:6px; font-size:11px; }#rw-root .chip.cat{ background:var(--blue-light); color:var(--primary); }#rw-root .chip.no-inv{ background:#F1F5F9; color:#64748B; }#rw-root .chip.has-inv{ background:var(--green-light); color:#047857; }#rw-root .chip.hidden{ background:var(--pink-light); color:#BE185D; }#rw-root .chip.mine{ background:var(--gray-light); color:var(--text2); }#rw-root .chip.user{ background:var(--blue-light); color:var(--primary); }#rw-root .avatar-mini{ width:18px; height:18px; border-radius:50%; object-fit:cover; background:var(--blue-light); }#rw-root .filter-bar{ display:flex; flex-wrap:nowrap; align-items:center; gap:4px; padding:11px 16px 0; }#rw-root .fb-chips{ display:flex; gap:3px; flex:1 1 auto; min-width:0; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }#rw-root .fb-chips::-webkit-scrollbar{ display:none; }#rw-root .filter-bar .chip-btn{ flex:0 0 auto; padding:3px 6px; border-radius:13px; border:none; font-size:10.5px; font-weight:bold; cursor:pointer; background:var(--gray-light); color:var(--text2); white-space:nowrap; line-height:1.45; }#rw-root .fb-sep{ width:1px; background:var(--border); flex:0 0 auto; margin:5px 1px; }#rw-root .fb-people{ display:flex; gap:4px; align-items:center; flex:0 0 auto; padding:1px 2px; }#rw-root .fb-ava{ position:relative; width:24px; height:24px; border-radius:50%; flex:0 0 auto; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:bold;
  background:#E2E8F0; color:#475569; border:1px solid var(--border); cursor:pointer; }#rw-root .fb-ava img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }#rw-root .fb-ava.on{ border-color:var(--primary); background:#FBEEDD; color:#1D4ED8; box-shadow:0 0 0 2px rgba(59,130,246,.22); }#rw-root .fb-ava.me{ background:#FDF7F0; color:#9C6B41; border-color:#F3DDC4; }#rw-root .fb-ava.me.on{ background:#FBEEDD; color:#1D4ED8; border-color:var(--primary); }#rw-root .fb-ava .fb-badge{ position:absolute; top:-3px; right:-3px; min-width:11px; height:11px; padding:0 2px; box-sizing:border-box;
  border-radius:6px; background:#EF4444; color:#fff; font-size:8px; font-weight:bold; line-height:11px; text-align:center; }#rw-root .picker-group{ padding:12px 20px 6px; font-size:12px; font-weight:bold; color:var(--text2); }#rw-root .filter-bar .chip-btn.on{ background:var(--primary); color:#fff; }#rw-root .filter-bar .chip-btn.warn.on{ background:var(--red); color:#fff; }#rw-root .filter-bar .chip-btn.ok.on{ background:var(--green); color:#fff; }#rw-root #acc-status-filter{ display:grid; grid-template-columns:repeat(5,1fr); gap:6px; overflow-x:visible; }#rw-root #acc-status-filter .chip-btn{ padding:7px 2px; text-align:center; white-space:nowrap; display:flex; align-items:center; justify-content:center; gap:3px; }#rw-root .btn{ display:block; width:100%; padding:14px; border:none; border-radius:12px; font-size:16px; font-weight:bold; cursor:pointer; }#rw-root .btn.primary{ background:var(--primary); color:#fff; letter-spacing:.08em; }#rw-root .btn.primary:active{ background:var(--primary-dark); }#rw-root .btn.secondary{ background:var(--blue-light); color:var(--primary); }#rw-root .btn.outline{ background:#fff; color:var(--primary); border:1px solid var(--primary); }#rw-root .btn.danger{ background:var(--red); color:#fff; }#rw-root .btn.danger-outline{ background:#fff; color:var(--red); border:1px solid var(--red); }#rw-root .btn.small{ display:inline-block; width:auto; padding:6px 14px; font-size:13px; border-radius:8px; }#rw-root .btn.dashed{ background:#fff; border:1.5px dashed var(--dash-blue); color:var(--primary); border-radius:12px; }#rw-root .btn.disabled{ opacity:.5; pointer-events:none; }#rw-root .btn-lg{ height:56px; font-size:17px; }#rw-root .form-card{ background:var(--card); border-radius:16px; margin:10px 16px; overflow:hidden; }#rw-root .form-card .row{ display:flex; align-items:center; padding:14px; gap:12px; }#rw-root .form-card .row + .row{ border-top:0.5px solid var(--border); }#rw-root .form-card .row .lbl{ font-size:15px; color:var(--text); white-space:nowrap; }#rw-root .form-card .row .val{ flex:1; text-align:right; font-size:15px; font-weight:bold; color:var(--text); background:none; border:none; }#rw-root .form-card .row .val.ph{ color:var(--hint); font-weight:normal; }#rw-root .form-card .row .arrow{ color:#C4C9D0; font-size:14px; }#rw-root .form-card .row input.val{ outline:none; }#rw-root .form-card .row textarea.val{ resize:none; min-height:40px; text-align:right; outline:none; }#rw-root .amount-card{ background:var(--card); border-radius:16px; margin:10px 16px; padding:14px; }#rw-root .amount-card .lbl{ font-size:12px; color:var(--text2); }#rw-root .amount-card input{ width:100%; border:none; outline:none; font-size:34px; font-weight:bold; color:var(--text); margin-top:6px; }#rw-root .amount-card input::placeholder{ color:var(--hint); }#rw-root .amount-card .hint{ font-size:11px; color:var(--hint); margin-top:4px; }#rw-root .cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }#rw-root .cat-item{ padding:10px 4px; text-align:center; border-radius:12px; background:var(--gray-light); cursor:pointer; font-size:13px; border:1.5px solid transparent; }#rw-root .cat-item .ci{ font-size:20px; display:block; }#rw-root .cat-item.selected{ background:var(--blue-light); border-color:var(--primary); color:var(--primary); font-weight:bold; }#rw-root .icon-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }#rw-root .icon-tile{ width:44px; height:44px; margin:0 auto; border-radius:12px; background:var(--gray-light); display:flex; align-items:center; justify-content:center; font-size:20px; cursor:pointer; border:1.5px solid transparent; }#rw-root .icon-tile.selected{ border-color:var(--primary); background:var(--blue-light); }#rw-root .color-grid{ display:flex; gap:12px; flex-wrap:wrap; }#rw-root .color-tile{ width:36px; height:36px; border-radius:50%; cursor:pointer; border:2.5px solid transparent; }#rw-root .color-tile.selected{ border-color:var(--primary); box-shadow:0 0 0 2px #fff inset; }#rw-root .invoice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }#rw-root .invoice-grid .inv-item{ position:relative; aspect-ratio:1/1; border-radius:12px; overflow:hidden; background:var(--gray-light); }#rw-root .invoice-grid img{ width:100%; height:100%; object-fit:cover; }#rw-root .invoice-grid .del{ position:absolute; top:4px; right:4px; background:rgba(0,0,0,.6); color:#fff; border:none; border-radius:50%; width:22px; height:22px; font-size:12px; line-height:22px; }#rw-root .inv-add{ aspect-ratio:1/1; border:1.5px dashed var(--dash-blue); border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:var(--primary); font-size:12px; cursor:pointer; background:var(--blue-light); -webkit-tap-highlight-color:transparent; }#rw-root .inv-add .plus{ font-size:26px; line-height:1; }#rw-root .inv-add span:last-child{ line-height:1; white-space:nowrap; }#rw-root .inv-wm{ position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column;
  padding:6px 5px 3px; background:linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,0));
  color:#fff; font-size:9px; line-height:1.3; text-shadow:0 1px 2px rgba(0,0,0,.85); pointer-events:none; }#rw-root .inv-wm span{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:.95; }#rw-root .inv-owner{ position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,.5); color:#fff; font-size:10px; text-align:center; padding:1px; }#rw-root .c-avatar{ width:26px; height:26px; border-radius:50%; object-fit:cover; flex-shrink:0; }#rw-root .c-avatar-ph{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--blue-light); color:var(--primary); font-size:12px; font-weight:bold; flex-shrink:0; }#rw-root .inv-quick{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }#rw-root .inv-quick .inv-btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  padding:10px 4px; border-radius:10px; border:1px solid var(--border); background:#fff; color:var(--text2);
  cursor:pointer; transition:all .15s ease; -webkit-tap-highlight-color:transparent; font-family:inherit; }#rw-root .inv-quick .inv-btn:active{ transform:scale(.97); }#rw-root .inv-quick .inv-btn .ico{ font-size:18px; line-height:1; }#rw-root .inv-quick .inv-btn .txt{ font-size:12px; font-weight:bold; line-height:1; white-space:nowrap; }#rw-root .inv-quick .inv-btn.on.has{ background:var(--green-light); color:#047857; border-color:#A7F3D0; box-shadow:0 1px 3px rgba(4,120,87,.12); }#rw-root .inv-quick .inv-btn.on.pending{ background:var(--red-light); color:var(--red); border-color:#FCA5A5; box-shadow:0 1px 3px rgba(239,68,68,.12); }#rw-root .inv-quick .inv-btn.on.no{ background:#F1F5F9; color:#475569; border-color:#CBD5E1; box-shadow:0 1px 3px rgba(71,85,105,.12); }#rw-root .inv-quick .inv-btn.on.wait{ background:#FEF3C7; color:#B45309; border-color:#FCD34D; box-shadow:0 1px 3px rgba(180,83,9,.12); }#rw-root .inv-apply{ margin-top:10px; padding:10px 12px; background:#FFFBEB; border:1px solid #FDE68A; border-radius:10px; }#rw-root .inv-apply-txt{ font-size:12px; color:#92400E; line-height:1.5; }#rw-root .inv-acts{ display:flex; gap:8px; margin-top:10px; }#rw-root .inv-acts .btn{ margin:0; flex:1; }#rw-root .inv-quick .inv-hint{ grid-column:1 / -1; font-size:10px; color:var(--text2); text-align:center; opacity:.85; margin-top:-1px; }#rw-root .inv-tip{ font-size:11px; color:var(--text2); margin-top:8px; line-height:1.55; }#rw-root .comment-item{ padding:12px 14px; margin:10px 0; border-radius:14px; background:#fff; border:1px solid #EEF2F7; }#rw-root .comment-item.c-reply{ margin:6px 0 6px 34px; padding:8px 0 8px 12px; background:transparent; border:none; border-left:2px solid #E2E8F0; border-radius:0; }#rw-root .comment-item .c-head{ display:flex; align-items:flex-start; gap:8px; font-size:13px; }#rw-root .comment-item .c-head .c-meta{ flex:1; min-width:0; }#rw-root .comment-item .c-head .c-top{ display:flex; align-items:baseline; gap:8px; overflow:hidden; }#rw-root .comment-item .c-head .who{ font-weight:bold; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }#rw-root .comment-item .c-head .time{ color:var(--hint); font-size:11px; white-space:nowrap; flex-shrink:0; }#rw-root .comment-item .c-acts{ display:flex; gap:14px; row-gap:4px; margin-top:3px; flex-wrap:wrap; }#rw-root .link-btn{ background:none; border:none; padding:0; margin:0; color:var(--primary);
  font-size:12px; font-family:inherit; line-height:1.4; cursor:pointer; -webkit-tap-highlight-color:transparent; }#rw-root .link-btn:active{ opacity:.55; }#rw-root .comment-item .c-text{ margin-top:4px; font-size:14px; }#rw-root .comment-item .c-acts{ gap:8px; }#rw-root .comment-item .c-acts .link-btn{ padding:2px 10px; border-radius:12px; font-size:12.5px; font-weight:600; }#rw-root .comment-item .c-acts .reply-btn{ background:#FDF7F0; color:#9C6B41; }#rw-root .comment-item .c-acts .edit-btn{ background:#F1F5F9; color:#475569; }#rw-root .comment-item .c-acts .del-btn{ background:#FEF2F2; color:#DC2626; }#rw-root .comment-input{ display:flex; gap:8px; margin-top:12px; }#rw-root .comment-input input, #rw-root .comment-input textarea{ flex:1; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:10px; font-size:14px; outline:none; resize:none; font-family:inherit; height:38px; line-height:16px; }#rw-root .modal-mask{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:200; display:none; align-items:flex-end; }#rw-root .modal-mask.show{ display:flex; }#rw-root .modal-mask--top{ z-index:300; }#rw-root .modal{ background:#fff; width:100%; border-radius:16px 16px 0 0; padding:18px 18px calc(18px + env(safe-area-inset-bottom)); max-height:88vh; overflow-y:auto; }#rw-root .modal-detail-box{ position:relative; display:flex; flex-direction:column; max-height:90vh; padding-bottom:0; overflow-y:auto; -webkit-overflow-scrolling:touch; }#rw-root .modal-detail-box .modal-title{ padding-right:40px; }#rw-root .modal-close-fixed{ position:fixed !important; top:80px; right:16px; width:36px; height:36px; font-size:16px; color:#6B7280; background:#fff; border:1.5px solid #D1D5DB; border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:10000; box-shadow:0 2px 8px rgba(0,0,0,.12); }#rw-root .modal-close-fixed:hover{ background:#F3F4F6; color:#374151; border-color:#9CA3AF; }#rw-root .modal-close-fixed:active{ background:#E5E7EB; }#rw-root .modal-close-fixed.modal-help-fixed{ right:60px; font-size:17px; font-weight:bold; }#rw-root .modal-close-fixed.modal-share-fixed{ right:104px; font-size:16px; }#rw-root .modal-detail-box #detail-body{ }#rw-root .modal-detail-box #detail-actions{ border-top:none; padding:8px 0 6px; background:transparent; }#rw-root .modal-detail-box #detail-actions .btn{ padding:7px 12px; font-size:13px; }#rw-root .detail-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:10px; align-items:start; }#rw-root .detail-col{ min-width:0; }#rw-root .detail-col .invoice-grid{ grid-template-columns:repeat(2,1fr); gap:6px; }#rw-root .detail-col .inv-add{ aspect-ratio:1/1; font-size:10.5px; gap:2px; }#rw-root .detail-col .inv-add .plus{ font-size:20px; }#rw-root .modal .modal-title{ font-size:17px; font-weight:bold; margin-bottom:14px; text-align:center; position:relative; }#rw-root .modal .modal-close{ position:absolute; right:8px; top:8px; width:32px; height:32px; font-size:14px; color:#6B7280; background:#F3F4F6; border:1px solid #E5E7EB; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:10; }#rw-root .modal .modal-close:hover{ background:#E5E7EB; color:#374151; }#rw-root .modal .modal-close:active{ background:#D1D5DB; }#rw-root .modal-center{ align-items:center; justify-content:center; }#rw-root .modal-center .modal{ border-radius:14px; max-width:320px; margin:0 30px; }#rw-root .stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 16px; }#rw-root .stat-card{ background:var(--card); border-radius:16px; padding:14px; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.05); }#rw-root .stat-card .s-label{ font-size:12px; color:var(--text2); }#rw-root .stat-card .s-val{ font-size:20px; font-weight:bold; margin-top:4px; }#rw-root .stat-card .s-sub{ font-size:11px; color:var(--text2); margin-top:2px; }#rw-root .stat-card.red .s-val{ color:var(--red); }#rw-root .stat-card.green .s-val{ color:#047857; }#rw-root .stat-card.blue .s-val{ color:var(--primary); }#rw-root .user-item{ background:var(--card); border-radius:16px; margin:5px 16px; padding:12px 14px; display:flex; align-items:center; gap:12px; row-gap:8px; flex-wrap:wrap; box-shadow:0 1px 3px rgba(0,0,0,.05); }#rw-root .user-item .u-avatar{ width:40px; height:40px; border-radius:50%; background:var(--blue-light); display:flex; align-items:center; justify-content:center; font-size:20px; overflow:hidden; flex-shrink:0; }#rw-root .user-item .u-avatar img{ width:100%; height:100%; object-fit:cover; }#rw-root .user-item .u-info{ flex:1 1 140px; min-width:0; }#rw-root .user-item .u-name{ font-weight:bold; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }#rw-root .user-item .u-sub{ font-size:12px; color:var(--text2); margin-top:2px; }#rw-root .user-item .u-actions{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; margin-left:auto; }#rw-root .tag-role{ font-size:11px; padding:2px 8px; border-radius:6px; }#rw-root .tag-role.super_admin{ background:var(--amber-light); color:#92400E; }#rw-root .tag-role.admin{ background:var(--blue-light); color:#1E40AF; }#rw-root .tag-role.user{ background:var(--gray-light); color:#4B5563; }#rw-root .tag-status{ font-size:11px; padding:2px 8px; border-radius:6px; }#rw-root .tag-status.pending{ background:var(--amber-light); color:#92400E; }#rw-root .tag-status.active{ background:var(--green-light); color:#047857; }#rw-root .tag-status.rejected{ background:var(--red-light); color:var(--red); }#rw-root .tag-status.pin-all{ background:#FEF3C7; color:#B45309; }#rw-root .tag-status.pin-mine{ background:#F3F4F6; color:#6B7280; }#rw-root .log-item{ background:var(--card); border-radius:10px; margin:5px 16px; padding:10px 12px; font-size:13px; box-shadow:0 1px 2px rgba(0,0,0,.04); }#rw-root .log-item .l-time{ color:var(--hint); font-size:11px; margin-left:6px; }#rw-root .empty{ text-align:center; color:var(--text2); padding:40px 20px; font-size:13px; }#rw-root .empty .e-ico{ font-size:40px; margin-bottom:8px; }#rw-root .detail-section-subtask{ background:linear-gradient(135deg,#F8FAFC 0%,#F1F5F9 100%); border:1px solid #E2E8F0; }#rw-root .subtask-list{ margin-top:2px; }#rw-root .subtask-row{ display:flex; align-items:flex-start; gap:9px; padding:8px 10px; background:#fff; border-radius:10px; margin-top:6px; }#rw-root .subtask-row.done .subtask-title{ color:#9CA3AF; text-decoration:line-through; }#rw-root .subtask-check{ width:20px; height:20px; margin-top:1px; border-radius:50%; border:1.5px solid #CBD5E1; display:inline-flex; align-items:center; justify-content:center; font-size:12px; line-height:1; color:#fff; flex-shrink:0; cursor:pointer; }#rw-root .subtask-check.on{ background:#10B981; border-color:#10B981; box-shadow:0 0 0 3px rgba(16,185,129,.16); }#rw-root .subtask-main{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }#rw-root .subtask-title{ min-width:0; font-size:14px; line-height:1.35; word-break:break-word; }#rw-root .subtask-meta{ font-size:11px; line-height:1.3; color:#94A3B8; word-break:break-word; }#rw-root .subtask-row.done .subtask-meta{ color:#B0B8C4; }#rw-root .subtask-acts{ flex:0 0 auto; display:flex; align-items:center; gap:7px; }#rw-root .subtask-acts span{ color:#CBD5E1; font-size:12.5px; line-height:1; padding:0 1px; cursor:pointer; }#rw-root .subtask-acts span:active{ opacity:.55; }#rw-root .st-edit{ width:100%; border:1px solid var(--primary); border-radius:8px; padding:4px 7px; font-size:13px; font-family:inherit; line-height:1.35; resize:none; outline:none; color:var(--text); }#rw-root .subtask-del:active{ color:var(--red); }#rw-root .subtask-empty{ color:var(--text2); font-size:12.5px; padding:8px 2px 2px; }#rw-root .subtask-add{ margin-top:8px; display:flex; gap:8px; align-items:stretch; }#rw-root .subtask-add input, #rw-root .subtask-add textarea{ flex:1; min-width:0; width:100%; resize:none; font-family:inherit; line-height:1.4; height:38px; box-sizing:border-box; border:1px dashed #CBD5E1; background:#fff; border-radius:10px; padding:9px 11px; font-size:14px; color:var(--text); outline:none; }#rw-root .subtask-add input:focus, #rw-root .subtask-add textarea:focus{ border-style:solid; border-color:var(--primary); }#rw-root .subtask-send{ flex:0 0 auto; display:flex; align-items:center; justify-content:center; border:none; background:var(--primary); color:#fff; border-radius:10px; padding:0 16px; font-size:14px; font-weight:600; cursor:pointer; }#rw-root .subtask-send:active{ opacity:.85; }#rw-root .subtask-badge{ display:flex; align-items:center; gap:6px; margin-top:3px; font-size:11px; color:#047857; }#rw-root .subtask-badge.all-done{ color:#059669; font-weight:bold; }#rw-root .subtask-bar{ flex:0 0 60px; height:4px; border-radius:2px; background:#E5E7EB; overflow:hidden; display:inline-block; }#rw-root .subtask-bar b{ display:block; height:100%; border-radius:2px; background:#10B981; }#rw-root .toast{ position:fixed; top:15%; left:50%; transform:translateX(-50%); background:rgba(17,24,39,.9); color:#fff; padding:10px 20px; border-radius:10px; font-size:14px; z-index:999; max-width:80%; text-align:center; opacity:0; transition:opacity .3s; pointer-events:none; }#rw-root .toast.show{ opacity:1; }#rw-root .loading{ text-align:center; padding:30px; color:var(--text2); }#rw-root .spinner{ display:inline-block; width:22px; height:22px; border:3px solid var(--border); border-top-color:var(--primary); border-radius:50%; animation:spin .8s linear infinite; vertical-align:middle; margin-right:8px; }#rw-root .ptr-ind{ position:fixed; left:50%; top:10px; transform:translate(-50%,-60px); opacity:0;
  display:flex; align-items:center; gap:6px; background:#fff; color:var(--text2);
  font-size:12px; font-weight:bold; padding:7px 14px; border-radius:20px;
  box-shadow:0 4px 14px rgba(0,0,0,.14); z-index:300; pointer-events:none;
  transition:opacity .15s ease, transform .18s ease; }#rw-root .ptr-ind.show{ opacity:1; }#rw-root .ptr-ind .spinner{ width:14px; height:14px; border-width:2px; margin-right:0; }@keyframes spin{ to{ transform:rotate(360deg); } }#rw-root .content{ padding-bottom:80px; }#rw-root .content-tight{ padding-bottom:20px; }#rw-root .bottom-btn{ position:fixed; bottom:0; left:0; right:0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:linear-gradient(transparent, var(--bg) 30%); z-index:50; box-sizing:border-box; }#rw-root .bottom-btn .btn{ box-shadow:0 2px 8px rgba(59,130,246,.35); }#rw-root #home-list{ padding-bottom:100px; }#rw-root .acc-group-head:first-child{ margin-top:8px; }#rw-root .set-item{ background:var(--card); border-radius:16px; margin:5px 16px; padding:14px; display:flex; align-items:center; gap:12px; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.05); }#rw-root .set-item .set-icon{ width:40px; height:40px; border-radius:12px; background:var(--blue-light); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }#rw-root .set-item .set-body{ flex:1; }#rw-root .set-item .set-name{ font-size:15px; font-weight:bold; }#rw-root .set-item .set-sub{ font-size:12px; color:var(--text2); margin-top:2px; }#rw-root .set-item .set-arrow{ color:var(--hint); }#rw-root .auth-wrap{ min-height:100vh; background:linear-gradient(135deg,#B98457 0%,#D8A876 100%); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; }#rw-root .auth-logo{ font-size:54px; margin-bottom:8px; }#rw-root .auth-title{ color:#fff; font-size:26px; font-weight:bold; }#rw-root .auth-sub{ color:rgba(255,255,255,.85); font-size:13px; margin-top:4px; margin-bottom:28px; }#rw-root .auth-card{ width:100%; max-width:380px; background:#fff; border-radius:20px; padding:24px; box-shadow:0 10px 40px rgba(0,0,0,.25); }#rw-root .auth-card .field{ margin-bottom:14px; }#rw-root .auth-card .field input{ width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:12px; font-size:16px; outline:none; }#rw-root .auth-card .field input:focus{ border-color:var(--primary); }#rw-root .auth-links{ display:flex; justify-content:space-between; margin-top:14px; font-size:13px; color:var(--primary); }#rw-root .auth-links span{ cursor:pointer; }#rw-root .hidden-banner{ background:var(--pink-light); color:#BE185D; font-size:12px; padding:8px 16px; text-align:center; }#rw-root .me-card{ background:var(--card); border-radius:16px; margin:16px; padding:18px; display:flex; align-items:center; gap:14px; box-shadow:0 1px 3px rgba(0,0,0,.05); }#rw-root .me-card .me-avatar{ width:56px; height:56px; border-radius:50%; background:var(--blue-light); display:flex; align-items:center; justify-content:center; font-size:26px; overflow:hidden; flex-shrink:0; }#rw-root .me-card .me-avatar img{ width:100%; height:100%; object-fit:cover; }#rw-root .tool-row{ display:flex; gap:8px; flex-wrap:wrap; }#rw-root .tool-btn{ flex:1; min-width:70px; padding:10px 6px; border:1px solid var(--border); border-radius:12px;
  background:var(--card); color:var(--text1); font-size:13px; display:flex; flex-direction:column; align-items:center;
  gap:3px; cursor:pointer; -webkit-tap-highlight-color:transparent; }#rw-root .tool-btn:active{ background:var(--bg); }#rw-root .tool-btn:disabled{ opacity:.5; }#rw-root .tool-btn .tb-ico{ font-size:20px; line-height:1; }#rw-root .photo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }#rw-root .ph-item{ position:relative; aspect-ratio:1; border-radius:10px; overflow:hidden; background:var(--bg); }#rw-root .ph-item img{ width:100%; height:100%; object-fit:cover; }#rw-root .ph-del{ position:absolute; top:2px; right:2px; width:20px; height:20px; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff; font-size:11px; border:none; line-height:1; cursor:pointer; }#rw-root .loc-row{ display:flex; align-items:center; gap:6px; }#rw-root .loc-row .loc-del{ margin-left:auto; color:var(--text2); cursor:pointer; font-size:14px; padding:4px; }#rw-root .chip.pending-inv{ background:var(--red-light); color:var(--red); }#rw-root .stat-card.warn-card{ background:var(--amber-light); }#rw-root .map-picker-mask{ background:rgba(0,0,0,.5); }#rw-root .map-picker-frame{ position:fixed; top:0; left:0; right:0; bottom:0; z-index:999; background:#f5f6f8; }#rw-root #view-add .header{ padding:10px 18px 12px; }#rw-root #view-add .header .h-title{ font-size:18px; margin-top:4px; }#rw-root #view-add .header .h-sub{ font-size:11px; }#rw-root #view-add .form-card{ margin:8px 16px; }#rw-root #view-add .form-card .row{ padding:9px 14px; }#rw-root #view-add .amount-card{ margin:8px 16px; padding:10px 14px; }#rw-root #view-add .amount-card input{ font-size:28px; margin-top:2px; }#rw-root #view-add .amount-card .hint{ display:none; }#rw-root #view-add .tool-btn{ padding:7px 6px; }#rw-root #view-add .tool-btn .tb-ico{ font-size:17px; }#rw-root #view-add .photo-grid{ margin-top:8px; }#rw-root #view-add .ph-item{ border-radius:8px; }#rw-root #view-add .btn-lg{ height:46px; font-size:16px; }#rw-root #view-add .loc-row{ margin-top:6px !important; padding:6px 10px !important; }#rw-root .img-preview-mask{ position:fixed; inset:0; background:rgba(0,0,0,.95); z-index:999; display:none; overflow:hidden; }#rw-root .img-preview-mask.show{ display:block; }#rw-root .img-preview-stage{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; overflow:hidden; touch-action:none; }#rw-root .img-preview-stage img{ max-width:96%; max-height:88vh; object-fit:contain; border-radius:6px;
  transform-origin:center center; will-change:transform; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; }#rw-root .img-preview-stage.draggable img{ cursor:grab; }#rw-root .img-preview-close{ position:fixed; top:calc(16px + env(safe-area-inset-top)); right:16px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.2); color:#fff; font-size:20px; border:none; cursor:pointer; z-index:1000; }#rw-root .img-preview-counter{ position:fixed; top:calc(20px + env(safe-area-inset-top)); left:50%; transform:translateX(-50%); color:#fff; font-size:14px; background:rgba(0,0,0,.5); padding:4px 14px; border-radius:20px; z-index:1000; pointer-events:none; }#rw-root .img-preview-nav{ position:fixed; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.15); color:#fff; font-size:28px; line-height:44px; text-align:center; border:none; cursor:pointer; z-index:1000; }#rw-root .img-preview-prev{ left:12px; }#rw-root .img-preview-next{ right:12px; }#rw-root .img-preview-hint{ position:fixed; bottom:calc(30px + env(safe-area-inset-bottom)); left:0; right:0; text-align:center; color:#fff; font-size:13px; pointer-events:none; z-index:1000; opacity:.8; }#rw-root .pv-reset{ position:fixed; bottom:calc(62px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); display:none;
  background:rgba(255,255,255,.22); color:#fff; border:none; border-radius:18px; padding:7px 16px; font-size:13px; z-index:1000; cursor:pointer; }#rw-root .img-preview-mask.zoomed .pv-reset{ display:block; }#rw-root .img-preview-mask.zoomed .img-preview-nav{ display:none; }#rw-root .img-preview-mask.single .img-preview-nav{ display:none; }#rw-root .loc-picker-mask{ position:fixed; inset:0; background:var(--bg); z-index:1200; display:none; flex-direction:column; }#rw-root .loc-picker-mask.show{ display:flex; }#rw-root .lp-head{ display:flex; align-items:center; gap:8px; padding:calc(10px + env(safe-area-inset-top)) 12px 10px; background:#fff; border-bottom:1px solid var(--border); }#rw-root .lp-input{ flex:1; min-width:0; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:9px 12px; font-size:14px; color:var(--text); outline:none; }#rw-root .lp-btn{ flex:0 0 auto; background:var(--primary); color:#fff; border:none; border-radius:10px; padding:9px 14px; font-size:14px; font-weight:bold; cursor:pointer; }#rw-root .lp-close{ flex:0 0 auto; background:var(--bg); color:var(--text2); border:1px solid var(--border); border-radius:10px; width:36px; height:36px; font-size:16px; cursor:pointer; }#rw-root .lp-mapwrap{ position:relative; flex:1; min-height:0; }#rw-root .lp-map{ width:100%; height:100%; background:#E8EDF3; }#rw-root .lp-pin{ position:absolute; left:50%; top:50%; transform:translate(-50%,-100%); width:26px; height:34px; pointer-events:none; z-index:5; }#rw-root .lp-pin::before{ content:''; position:absolute; left:50%; top:0; transform:translateX(-50%); width:26px; height:26px; background:var(--red); border:3px solid #fff; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.35); }#rw-root .lp-pin::after{ content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%); border-left:7px solid transparent; border-right:7px solid transparent; border-top:13px solid var(--red); }#rw-root .lp-results{ position:absolute; left:0; right:0; top:0; max-height:62%; overflow-y:auto; background:#fff; z-index:6; display:none; box-shadow:0 6px 16px rgba(0,0,0,.12); }#rw-root .lp-myloc{ position:absolute; right:14px; bottom:16px; width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--border); box-shadow:0 2px 8px rgba(0,0,0,.18); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:7; padding:0; }#rw-root .lp-myloc:active{ background:var(--blue-light); }#rw-root .lp-myloc.loading svg{ animation:lpSpin 1s linear infinite; }@keyframes lpSpin{ from{ transform:rotate(0); } to{ transform:rotate(360deg); } }#rw-root .lp-myloc.loading svg circle:nth-of-type(2){ stroke-dasharray:12 33; }#rw-root .lp-item{ padding:12px 16px; border-bottom:1px solid var(--border); cursor:pointer; }#rw-root .lp-item:active{ background:var(--bg); }#rw-root .lp-item-name{ font-size:15px; color:var(--text); font-weight:600; }#rw-root .lp-item-addr{ font-size:12px; color:var(--hint); margin-top:2px; }#rw-root .lp-foot{ background:#fff; border-top:1px solid var(--border); padding:10px 14px calc(12px + env(safe-area-inset-bottom)); }#rw-root .lp-addr{ font-size:13px; color:var(--text2); line-height:1.4; margin-bottom:8px; min-height:18px; }#rw-root .noti-bar{ display:flex; gap:16px; padding:0 2px 10px; border-bottom:0.5px solid var(--border); margin-bottom:10px; }#rw-root .noti-item{ border-radius:12px; padding:10px 12px; margin-bottom:8px; border:1px solid var(--border); background:#fff; }#rw-root .noti-item.unread{ background:var(--blue-light); border-color:#F3DDC4; }#rw-root .noti-item.read{ background:var(--bg); }#rw-root .noti-item.read .noti-title{ color:var(--text2); font-weight:normal; }#rw-root .noti-item.read .noti-text, #rw-root .noti-item.read .noti-meta{ opacity:.75; }#rw-root .noti-main{ cursor:pointer; }#rw-root .noti-title{ font-size:13px; font-weight:bold; display:flex; align-items:center; gap:5px; }#rw-root .noti-dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--red); flex-shrink:0; }#rw-root .noti-text{ font-size:12px; color:var(--text2); margin-top:3px; word-break:break-all; }#rw-root .noti-meta{ font-size:11px; color:var(--hint); margin-top:3px; }#rw-root .noti-acts{ display:flex; gap:14px; margin-top:8px; padding-top:7px; border-top:0.5px dashed var(--border); }#rw-root .link-btn.danger{ color:var(--red); }#rw-root .noti-date{ font-size:11px; font-weight:normal; color:var(--text2); background:var(--gray-light); padding:1px 6px; border-radius:8px; }#rw-root .noti-item.unread .noti-date{ background:#FBEEDD; color:#9C6B41; }#rw-root .c-at{ color:var(--primary); font-weight:bold; margin-right:3px; }#rw-root .reply-box{ display:none; gap:8px; margin-top:7px; align-items:center; }#rw-root .reply-box.show{ display:flex; }#rw-root .reply-box input{ flex:1; min-width:0; font-size:13px; padding:7px 10px; border:1px solid var(--border); border-radius:9px; background:#fff; }#rw-root .bottom-btn.bottom-btn-2{ display:flex; gap:10px; align-items:center; }#rw-root .bottom-btn.bottom-btn-2 .btn{ flex:1; min-width:0; padding:0 8px; white-space:nowrap; font-size:16px; }#rw-root .bottom-btn .btn-personal{ background:#fff; color:#9C6B41; border:1.5px solid #F3DDC4; box-shadow:0 2px 8px rgba(15,23,42,.08); }#rw-root .bottom-btn .btn-personal:active{ background:#FDF7F0; }#rw-root .sec-head-mine{ display:flex; align-items:center; gap:8px; }#rw-root .sec-head-mine .sec-head-txt{ flex:0 0 auto; }#rw-root .sec-head-mine .sec-head-sp{ flex:1; }#rw-root .sec-head-mine .sec-done-n{ font-size:12px; color:#94A3B8; flex:0 0 auto; }#rw-root .sec-head-mine .sec-newproj{ flex:0 0 auto; color:#94A3B8; font-size:15px; line-height:1; padding:4px 2px; }#rw-root .sec-head-mine .btn-quick{ flex:0 0 auto; height:34px; padding:0 16px; border:none; border-radius:999px;
  background:linear-gradient(135deg,#B98457 0%,#D8A876 100%); color:#fff; font-size:14px; font-weight:600;
  cursor:pointer; box-shadow:0 2px 8px rgba(59,130,246,.32); }#rw-root .sec-head-mine .btn-quick:active{ transform:scale(.95); }#rw-root .agt-add{ flex:0 0 auto; font-size:12px; font-weight:500; color:#9C6B41; background:#FDF7F0; border:1px solid #F3DDC4;
  padding:2px 10px; border-radius:999px; cursor:pointer; line-height:1.6; white-space:nowrap; transition:background .15s, border-color .15s; }#rw-root .agt-add:hover{ background:#E0EBFF; border-color:#A8C8FF; }#rw-root .agt-add:active{ transform:scale(.96); }#rw-root .agt-add.sm{ font-size:11px; padding:1px 7px; color:#5B76A8; background:#F4F7FD; border-color:#DCE6F7; }#rw-root .agt-add.sm:hover{ background:#E9F0FC; border-color:#C4D6F2; }#rw-root .bell-badge{ position:absolute; top:-2px; right:-4px; min-width:16px; height:16px; padding:0 4px; border-radius:9px; background:#EF4444; color:#fff; font-size:10px; font-weight:bold; line-height:16px; text-align:center; border:1.5px solid #fff; box-sizing:border-box; }#rw-root .noti-tabs{ display:flex; gap:6px; overflow-x:auto; padding:0 0 10px; -webkit-overflow-scrolling:touch; }#rw-root .noti-tabs::-webkit-scrollbar{ display:none; }#rw-root .noti-tab{ flex-shrink:0; font-size:12px; padding:5px 11px; border-radius:14px; background:var(--bg); color:var(--text2); border:1px solid var(--border); cursor:pointer; white-space:nowrap; }#rw-root .noti-tab.on{ background:var(--blue-light); color:#9C6B41; border-color:#F3DDC4; font-weight:bold; }#rw-root .noti-tab b{ color:#EF4444; }#rw-root .noti-head-txt{ font-size:12px; color:var(--hint); }#rw-root .noti-ico{ font-size:14px; flex-shrink:0; }#rw-root .noti-name{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#rw-root .noti-go{ font-size:11px; color:#B98457; margin-top:5px; }#rw-root .noti-item .noti-main{ cursor:pointer; }#rw-root .help-wrap{ font-size:13px; color:var(--text); line-height:1.65; }#rw-root .help-lead{ background:var(--blue-light); color:var(--primary); padding:9px 11px; border-radius:10px; margin-bottom:12px; font-size:12.5px; }#rw-root .help-h{ font-size:14px; font-weight:bold; margin:14px 0 6px; color:var(--text); }#rw-root .help-ol div{ padding:2px 0; }#rw-root .help-tbl div{ display:block; padding:4px 0; }#rw-root .help-tbl b{ margin-right:6px; }#rw-root .help-tbl b{ color:var(--text); }#rw-root .help-tip{ font-size:11.5px; color:var(--text2); background:var(--gray-light); padding:7px 10px; border-radius:9px; margin-top:6px; }#rw-root .t-assignee{ display:inline-flex; align-items:center; gap:4px; }#rw-root .t-ava{ width:20px; height:20px; font-size:11px; }#rw-root #noti-page-body .noti-sec{ display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600;
  color:var(--text2); margin:16px 16px 8px; line-height:1.25; }#rw-root #noti-page-body .noti-sec:first-child{ margin-top:4px; }#rw-root #noti-page-body .noti-sec .ns-cnt{ font-weight:normal; color:var(--hint); }#rw-root #noti-page-body .noti-empty{ text-align:center; padding:24px 18px; margin:0 16px 8px; border-radius:14px;
  background:linear-gradient(180deg,#FAFBFF 0%,#F6F8FE 100%); border:1px dashed rgba(59,130,246,.24); }#rw-root #noti-page-body .noti-empty .ne-ic{ font-size:32px; line-height:1; margin-bottom:10px; }#rw-root #noti-page-body .noti-empty .ne-ttl{ font-size:13.5px; font-weight:600; color:var(--text2); }#rw-root #noti-page-body .noti-empty .ne-sub{ font-size:11.5px; color:var(--hint); margin-top:6px; line-height:1.55; }#rw-root #noti-page-body .noti-todo{ display:flex; align-items:center; gap:10px; margin:0 16px 8px; padding:11px 12px;
  border-radius:13px; background:var(--blue-light); border:1px solid rgba(59,130,246,.18); }#rw-root #noti-page-body .noti-todo-ic{ font-size:20px; flex:none; }#rw-root #noti-page-body .noti-todo-body{ flex:1; min-width:0; }#rw-root #noti-page-body .noti-todo-ttl{ font-size:13.5px; font-weight:bold; color:var(--text); display:flex; align-items:center; }#rw-root #noti-page-body .noti-todo-sub{ font-size:12px; color:var(--text2); margin-top:3px; line-height:1.45; word-break:break-all; }#rw-root #noti-page-body .noti-todo-t{ font-size:11px; color:var(--hint); margin-top:3px; }#rw-root #noti-page-body .noti-go{ flex:none; border:none; border-radius:9px; padding:7px 11px; font-size:12.5px; font-weight:bold;
  background:var(--primary); color:#fff; cursor:pointer; }#rw-root #noti-page-body .noti-go:active{ opacity:.75; }#rw-root #noti-page-body .noti-row{ display:flex; align-items:flex-start; gap:9px; margin:0 16px 7px; padding:10px 11px;
  border-radius:12px; background:#fff; border:1px solid var(--border); }#rw-root #noti-page-body .noti-row.unread{ background:#F8FAFF; border-color:rgba(59,130,246,.2); }#rw-root #noti-page-body .noti-row .noti-ck{ width:17px; height:17px; flex:none; margin-top:2px; }#rw-root #noti-page-body .noti-row-main{ flex:1; min-width:0; cursor:pointer; }#rw-root #noti-page-body .noti-row .noti-title{ font-size:13px; font-weight:600; color:var(--text); display:flex; align-items:center; gap:5px; }#rw-root #noti-page-body .noti-row.read .noti-title{ color:var(--text2); font-weight:normal; }#rw-root #noti-page-body .noti-row .noti-text{ font-size:12.5px; color:var(--text2); margin-top:3px; line-height:1.45; word-break:break-all; }#rw-root #noti-page-body .noti-row .noti-meta{ font-size:11px; color:var(--hint); margin-top:4px; }#rw-root #noti-page-body .noti-row .noti-dot{ display:inline-block; width:7px; height:7px; border-radius:50%;
  background:#EF4444; margin-right:5px; vertical-align:middle; flex:none; }#rw-root #noti-page-body .noti-row .noti-date{ color:var(--hint); font-size:11px; background:none; padding:0; margin-left:auto; font-weight:normal; }#rw-root #noti-page-body .noti-foot{ text-align:center; font-size:11px; color:var(--hint); padding:16px 16px 26px; }#rw-root{ --app-max:480px; }@media (min-width:640px){#rw-root{ background:#e6e8ec; }#rw-root{ max-width:var(--app-max); margin:0 auto; min-height:100vh;
        box-shadow:0 0 0 1px rgba(0,0,0,.06),0 10px 40px rgba(0,0,0,.10); }#rw-root .bottom-btn{ left:50%; right:auto; transform:translateX(-50%); width:100%; max-width:var(--app-max); }#rw-root .modal-mask, #rw-root .loc-picker-mask{ left:50%; right:auto; transform:translateX(-50%); width:100%; max-width:var(--app-max); }#rw-root .toast{ max-width:calc(var(--app-max) - 32px); }
}#rw-root .dm-list-item{ display:flex; align-items:center; gap:12px; padding:13px 16px; background:var(--card); border-bottom:1px solid var(--border); cursor:pointer; }#rw-root .dm-list-item:active{ background:var(--gray-light); }#rw-root .dm-list-item.dm-group-item{ background:var(--blue-light); }#rw-root .dm-avatar{ flex:0 0 42px; width:42px; height:42px; border-radius:50%; background:var(--gray-light); display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--text2); overflow:hidden; }#rw-root .dm-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }#rw-root .dm-main{ flex:1; min-width:0; }#rw-root .dm-top{ display:flex; align-items:center; gap:6px; }#rw-root .dm-name{ font-size:15px; font-weight:600; color:var(--text); flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#rw-root .dm-atme{ flex:0 0 auto; font-size:10px; color:#fff; background:var(--red); padding:1px 5px; border-radius:8px; }#rw-root .dm-sub{ flex:0 0 auto; font-size:11px; color:var(--hint); }#rw-root .dm-time{ margin-left:auto; flex:0 0 auto; font-size:11px; color:var(--hint); }#rw-root .dm-bottom{ display:flex; align-items:center; gap:6px; margin-top:3px; }#rw-root .dm-last{ flex:1; min-width:0; font-size:13px; color:var(--text2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#rw-root .dm-badge{ flex:0 0 auto; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--red); color:#fff; font-size:11px; line-height:18px; text-align:center; box-sizing:border-box; }#rw-root #dm-pick-body .dm-list-item:last-child{ border-bottom:none; }#rw-root #page-chat.active{ display:flex; flex-direction:column; height:100vh; height:100dvh; overflow:hidden; }#rw-root .dm-chat-body{ flex:1; overflow-y:auto; padding:12px 14px 8px; }#rw-root .dm-load-more{ display:block; margin:2px auto 10px; padding:6px 14px; border:1px solid var(--border); border-radius:14px; background:var(--card); color:var(--text2); font-size:12px; cursor:pointer; }#rw-root .dm-day-sep{ text-align:center; font-size:11px; color:var(--hint); margin:10px 0; }#rw-root .dm-bubble-row{ display:flex; margin:6px 0; }#rw-root .dm-bubble-row.mine{ justify-content:flex-end; }#rw-root .dm-bubble-row.other{ justify-content:flex-start; }#rw-root .dm-bubble-wrap{ display:flex; flex-direction:column; max-width:78%; min-width:0; }#rw-root .dm-bubble-row.mine .dm-bubble-wrap{ align-items:flex-end; }#rw-root .dm-bubble-row.other .dm-bubble-wrap{ align-items:flex-start; }#rw-root .dm-sender{ display:flex; align-items:center; gap:4px; font-size:11px; color:var(--text2); margin:0 4px 3px; }#rw-root .dm-sender-avatar{ display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; background:var(--gray-light); font-size:10px; color:var(--text2); overflow:hidden; flex:0 0 auto; }#rw-root .dm-sender-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }#rw-root .dm-bubble{ max-width:100%; padding:9px 12px; border-radius:14px; font-size:14px; line-height:1.5; word-break:break-word; white-space:pre-wrap; }#rw-root .dm-bubble.mine{ background:var(--primary); color:#fff; border-bottom-right-radius:4px; }#rw-root .dm-bubble.other{ background:var(--card); color:var(--text); border:1px solid var(--border); border-bottom-left-radius:4px; }#rw-root .dm-bubble.recallable{ cursor:pointer; }#rw-root .dm-bubble.deleted{ opacity:.65; font-style:italic; }#rw-root .dm-bubble.mentioned{ border:2px solid #F59E0B; }#rw-root .dm-bubble.dm-card{ background:var(--blue-light); color:var(--primary-dark); border:1px solid #F3DDC4; cursor:pointer; }#rw-root .dm-bubble-row .dm-time{ margin:2px 4px 0; font-size:10px; }#rw-root .dm-chat-input{ position:relative; display:flex; gap:8px; align-items:center; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:var(--card); border-top:1px solid var(--border); }#rw-root .dm-chat-input input, #rw-root .dm-chat-input textarea{ flex:1; min-width:0; height:38px; padding:0 12px; border:1px solid var(--border); border-radius:19px; font-size:14px; outline:none; background:var(--bg); resize:none; line-height:36px; font-family:inherit; }#rw-root .dm-chat-input .btn{ margin:0; padding:0 18px; height:38px; width:auto; flex:0 0 auto; }#rw-root .dm-plus-btn{ flex:0 0 auto; width:38px; height:38px; padding:0; border:1px solid var(--border); border-radius:19px; background:var(--bg); color:var(--text2); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }#rw-root .dm-plus-btn:active{ background:var(--gray-light); }#rw-root .dm-plus-panel{ position:absolute; left:12px; right:12px; bottom:calc(100% + 6px); display:flex; gap:8px; padding:10px; background:var(--card); border:1px solid var(--border); border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.12); z-index:6; }#rw-root .dm-plus-item{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:10px 4px; border:1px solid var(--gray-light); border-radius:10px; background:var(--bg); color:var(--text); font-size:13px; cursor:pointer; white-space:nowrap; }#rw-root .dm-plus-item:active{ background:var(--gray-light); }#rw-root .dm-plus-ico{ font-size:22px; line-height:1; }#rw-root .dm-bubble.dm-img{ padding:3px; background:transparent; border:none; }#rw-root .dm-bubble.dm-img img{ display:block; max-width:200px; max-height:260px; border-radius:10px; cursor:zoom-in; }#rw-root .dm-bubble .dm-attach-card{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.22); cursor:pointer; }#rw-root .dm-bubble.other .dm-attach-card{ background:var(--gray-light); }#rw-root .dm-attach-ico{ flex:0 0 auto; font-size:22px; line-height:1; }#rw-root .dm-attach-main{ min-width:0; display:flex; flex-direction:column; }#rw-root .dm-attach-name{ font-size:14px; font-weight:600; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }#rw-root .dm-attach-meta{ font-size:12px; opacity:.8; }#rw-root .dm-mention-pop{ position:absolute; left:12px; right:12px; bottom:calc(100% + 4px); max-height:220px; overflow-y:auto; background:var(--card); border:1px solid var(--border); border-radius:12px; box-shadow:0 6px 20px rgba(0,0,0,.12); z-index:5; }#rw-root .dm-mention-item{ padding:10px 12px; font-size:14px; cursor:pointer; border-bottom:1px solid var(--gray-light); }#rw-root .dm-mention-item:last-child{ border-bottom:none; }#rw-root .dm-mention-item:active{ background:var(--gray-light); }@media (max-width:400px){#rw-root .header .h-row{ gap:5px; }#rw-root .header .h-btn{ min-width:30px; height:30px; padding:0 6px; font-size:12px; }#rw-root #home-greet{ max-width:64px; }
}@media (max-width:340px){#rw-root .header .h-row{ gap:4px; }#rw-root .header .h-btn{ min-width:28px; height:28px; padding:0 4px; font-size:11px; }#rw-root #home-greet{ max-width:44px; }
}#rw-root .site-footer{ text-align:center; font-size:12px; line-height:1.6; color:var(--text2,#9CA3AF); padding:16px 16px calc(86px + env(safe-area-inset-bottom)); }#rw-root .site-footer a{ color:var(--text2,#9CA3AF); text-decoration:none; }#rw-root .site-footer .beian-icon{ width:14px; height:15px; vertical-align:-2px; margin:0 3px 0 0; }#rw-root .site-footer .beian-link{ display:inline-block; }#rw-root #page-chat.active{ min-height:0; height: var(--vvh, 100dvh); }#rw-root .modal{ max-height: min(88vh, var(--vvh, 88vh)); padding-bottom: calc(18px + env(safe-area-inset-bottom) + var(--kb, 0px)); }#rw-root .modal-detail-box{ max-height: min(90vh, var(--vvh, 90vh)); padding-bottom: var(--kb, 0px); -webkit-overflow-scrolling:auto; }#rw-root .modal-mask{ top: var(--vvt, 0px); bottom: auto; height: var(--vvh, 100%); }#rw-root .dm-chat-input .btn, #rw-root .comment-input .btn{ display:flex; align-items:center; justify-content:center; text-align:center; }#rw-root .modal .modal-title .help-close{ position:absolute; right:0; top:-4px; width:30px; height:30px; padding:0; font-size:15px; color:#6B7280; background:#F3F4F6; border:1px solid #E5E7EB; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; }#rw-root .modal .modal-title .help-close:hover{ background:#E5E7EB; color:#374151; }#rw-root .modal .modal-title .help-close:active{ background:#D1D5DB; }#rw-root #modal-detail .modal-detail-box{ border-radius:26px 26px 0 0; }#rw-root #modal-detail::before, #rw-root #modal-detail::after{ content:''; position:fixed; top:var(--detail-top, 12vh); width:26px; height:26px; pointer-events:none; z-index:10001; }#rw-root #modal-detail::before{ left:0; background:radial-gradient(circle at 100% 100%, rgba(0,0,0,0) 0, rgba(0,0,0,0) 26px, #61432B 26px, #61432B 100%); }#rw-root #modal-detail::after{ right:0; background:radial-gradient(circle at 0 100%, rgba(0,0,0,0) 0, rgba(0,0,0,0) 26px, #61432B 26px, #61432B 100%); }

#rw-root{ --text1: #1F2937; }#rw-root #btn-ai-parse{
  width: 52px; height: 62px;
  background: linear-gradient(135deg, #3B82F6, #6366F1);
  color: #fff; border: none; border-radius: 10px;
  font-size: 12px; font-weight: bold; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; line-height: 1;
}#rw-root .header .h-btn{ background: rgba(255,255,255,.18); border: none; color: #fff; min-width: 34px; height: 30px; padding: 0 10px; border-radius: 8px; font-size: 13px; cursor: pointer; }#rw-root #btn-del-task-top{ background: rgba(255,255,255,.2); color: #fff; }#rw-root .tool-row{ display: flex; gap: 8px; flex-wrap: wrap; }#rw-root .tool-btn{ flex: 1 1 0; min-width: 0; padding: 8px 4px; border: 1px solid var(--border); border-radius: 12px;
  background: var(--card); color: var(--text); font-size: 12.5px; display: flex; flex-direction: column; align-items: center;
  gap: 2px; cursor: pointer; -webkit-tap-highlight-color: transparent; font-family: inherit; white-space: nowrap; }#rw-root .tool-btn:active{ background: var(--bg); }#rw-root .tool-btn .tb-ico{ font-size: 18px; line-height: 1; }#rw-root .photo-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }#rw-root .photo-grid:empty{ display: none; }#rw-root .ph-item{ position: relative; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--bg); }#rw-root .ph-item img{ width: 100%; height: 100%; object-fit: cover; }#rw-root .ph-del{ position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border-radius: 50%;
  background: rgba(0,0,0,.55); color: #fff; font-size: 11px; border: none; line-height: 1; cursor: pointer; }#rw-root .loc-row{ display: flex; align-items: center; gap: 6px; margin-top: 8px; padding: 6px 10px; background: var(--bg); border-radius: 10px; font-size: 12.5px; line-height: 1.4; flex-wrap: wrap; }#rw-root .loc-row > span:first-child{ flex: 1 1 auto; min-width: 0; word-break: break-word; overflow-wrap: anywhere; }#rw-root .loc-row .loc-del{ margin-left: auto; color: var(--text2); cursor: pointer; font-size: 14px; padding: 4px 8px; }#rw-root .detail-more{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; padding-bottom:2px; }#rw-root .detail-more .btn{ flex:1 1 auto; white-space:nowrap; padding:5px 10px; font-size:12px; border-radius:8px; }#rw-root #view-add .header{ padding: 10px 18px 12px; }#rw-root #view-add .header .h-title{ font-size: 18px; margin-top: 4px; }#rw-root #view-add .amount-card input{ font-size: 26px; }#rw-root #view-add .form-card .row{ padding: 12px 14px; }#rw-root #view-add .btn-lg{ height: 48px; font-size: 16px; }#rw-root .acc-item{ align-items: flex-start; }#rw-root .acc-item .acc-icon{ margin-top: 2px; }#rw-root .section-title{ display: block; }#rw-root .detail-section{ padding: 16px; margin-bottom: 12px; border-radius: 16px; }#rw-root .detail-section-info{ background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%); border: 1px solid #BAE6FD; }#rw-root .detail-section-progress{ background: linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%); border: 1px solid #BBF7D0; }#rw-root .detail-section-comment{ background: linear-gradient(135deg, #FDF7F0 0%, #FBEEDD 100%); border: 1px solid #F3DDC4; }#rw-root .mine-entry{ display: flex; align-items: center; gap: 12px; margin: 12px 16px 4px; padding: 14px;
  background: #fff; border: 1px solid #E9EDF3; border-radius: 14px; color: var(--text); cursor: pointer; }#rw-root .mine-entry .me-ico{ font-size: 22px; }#rw-root .mine-entry .me-body{ flex: 1; display: flex; flex-direction: column; gap: 2px; }#rw-root .mine-entry .me-name{ font-size: 16px; font-weight: bold; }#rw-root .mine-entry .me-sub{ font-size: 12px; color: var(--text2); }#rw-root .mine-entry .me-arrow{ font-size: 20px; color: var(--text2); }#rw-root .file-list{ margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }#rw-root .file-item{ display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: var(--bg);
  border-radius: 10px; text-decoration: none; color: var(--text); }#rw-root .file-item .fi-ico{ font-size: 18px; flex-shrink: 0; }#rw-root .file-item .fi-body{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }#rw-root .file-item .fi-name{ font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }#rw-root .file-item .fi-sub{ font-size: 11px; color: var(--hint); }#rw-root .file-item .fi-dl{ font-size: 12px; color: #3B82F6; flex-shrink: 0; }#rw-root .file-grid{ display: flex; flex-direction: column; gap: 6px; }#rw-root .file-grid:empty{ display: none; }#rw-root .file-chip{ display: flex; align-items: center; gap: 8px; padding: 7px 10px; background: var(--bg); border-radius: 10px; font-size: 13px; }#rw-root .file-chip .fi-ico{ flex-shrink: 0; }#rw-root .file-chip .fi-name{ flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }#rw-root .file-chip .fi-size{ font-size: 11px; color: var(--hint); flex-shrink: 0; }#rw-root .comment-item .c-loc{ font-size: 11px; color: var(--hint); margin-top: 2px; }#rw-root .comment-item .c-photo{ display: block; margin-top: 6px; width: 108px; height: 108px; object-fit: cover; border-radius: 10px; cursor: pointer; background: var(--bg); }#rw-root .prog-card{ background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  padding: 12px 12px 10px; margin-top: 10px; }#rw-root .prog-head{ display: flex; align-items: center; gap: 8px; }#rw-root .prog-meta{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }#rw-root .prog-name{ font-size: 14px; font-weight: bold; color: var(--text1); }#rw-root .prog-time{ font-size: 11.5px; color: var(--hint); }#rw-root .prog-addr{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-top: 10px; padding: 7px 10px; background: var(--bg); border-radius: 10px;
  font-size: 12px; color: var(--text2); line-height: 1.45; }#rw-root .loc-txt{ flex: 1 1 auto; min-width: 0; word-break: break-word; overflow-wrap: anywhere; }#rw-root .sum-loc{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }#rw-root .loc-acts{ flex: 0 0 auto; display: inline-flex; gap: 6px; }#rw-root .loc-act{ display: inline-block; padding: 2px 9px; border-radius: 20px; background: var(--blue-light, #EFF6FF);
  color: var(--primary, #3B82F6); font-size: 11.5px; font-weight: 600; line-height: 1.7;
  cursor: pointer; white-space: nowrap; text-decoration: none; }#rw-root .loc-act:active{ opacity: .7; }#rw-root .prog-del{ background: transparent; border: none; font-size: 15px; padding: 4px 6px; cursor: pointer; opacity: .75; }#rw-root .prog-text{ margin-top: 8px; font-size: 14.5px; line-height: 1.6; color: var(--text1);
  white-space: pre-wrap; word-break: break-word; }#rw-root .prog-imgs{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 10px; }#rw-root .prog-img{ position: relative; width: 100%; aspect-ratio: 1; }#rw-root .prog-imgs img{ width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 9px;
  background: var(--bg); cursor: pointer; display: block; }#rw-root .prog-wm{ position: absolute; left: 3px; right: 3px; bottom: 3px; font-size: 10px; line-height: 1.25;
  color: #fff; background: rgba(0,0,0,.5); padding: 2px 4px; border-radius: 4px;
  display: flex; flex-direction: column; align-items: center; gap: 0;
  pointer-events: none; overflow: hidden; }#rw-root .prog-wm .wm-n{ max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }#rw-root .prog-wm .wm-t{ font-size: 9px; opacity: .88; white-space: nowrap; }#rw-root .file-row{ display: flex; align-items: stretch; gap: 6px; }#rw-root .file-row .file-item{ flex: 1; min-width: 0; }#rw-root .file-row + .file-row{ margin-top: 6px; }#rw-root .file-del{ flex: 0 0 auto; background: var(--bg); border: 1px solid var(--border); border-radius: 9px;
  padding: 0 10px; font-size: 15px; cursor: pointer; color: #EF4444; }#rw-root .prog-files{ margin-top: 10px; padding-top: 9px; border-top: 1px dashed var(--border); }#rw-root .prog-lbl{ font-size: 11.5px; color: var(--hint); margin-bottom: 7px; }#rw-root .prog-files .file-list{ margin-top: 0; }#rw-root .comment-item .c-at{ color: #3B82F6; }#rw-root .comment-item .c-edited{ font-size: 11px; color: var(--hint); margin-left: 4px; }#rw-root .c-edit{ width: 100%; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px;
  font-size: 14px; font-family: inherit; color: var(--text); background: var(--card); outline: none; resize: none; }#rw-root .c-edit-acts{ display: flex; gap: 8px; justify-content: flex-end; margin-top: 6px; }#rw-root .reply-box{ display: none; gap: 8px; margin-top: 8px; }#rw-root .reply-box.show{ display: flex; }#rw-root .reply-box input{ flex: 1; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px;
  font-size: 13px; outline: none; background: var(--card); color: var(--text); }#rw-root .inline-prog{
  margin: 10px 0 4px;
  padding: 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 14px;
}#rw-root .ip-title{ font-size: 14px; font-weight: bold; color: var(--text); margin-bottom: 8px; }#rw-root .ip-text{
  width: 100%; box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  font-size: 15px; line-height: 1.5;
  outline: none; resize: vertical;
  background: #fff; color: var(--text);
  font-family: inherit;
}#rw-root .ip-text:focus{ border-color: var(--primary, #3B82F6); }#rw-root .inline-prog .tool-btn{ background: #fff; }#rw-root .ip-acts{ display: flex; gap: 8px; margin-top: 10px; align-items: center; }#rw-root .ip-acts .btn{ flex: 1; }#rw-root .ip-acts .btn#btn-cancel-prog{ flex: 0 0 auto; width: auto; }#rw-root .sum-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 10px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}#rw-root .sum-cell{ background: #fff; padding: 9px 8px; min-width: 0; }#rw-root .sum-label{ font-size: 11px; color: var(--hint); margin-bottom: 3px; }#rw-root .sum-val{ font-size: 13.5px; font-weight: 600; color: var(--text); line-height: 1.35; word-break: break-all; }#rw-root .sum-val.sum-small{ font-size: 11.5px; font-weight: 500; color: var(--text2); }#rw-root .sum-val.sum-red{ color: #EF4444; }#rw-root .sum-done{ margin-top: 8px; font-size: 12.5px; color: #047857; background: #ECFDF5; border-radius: 10px; padding: 7px 10px; }#rw-root .sum-loc{ margin-top: 8px; font-size: 13px; color: var(--text2); background: var(--bg); border-radius: 10px; padding: 8px 10px; }#rw-root .acc-item.acc-done{ background: #F8FAFC; box-shadow: none; }#rw-root .acc-item.acc-done .acc-icon{ background: #F1F5F9 !important; color: #A8B3BF !important; }#rw-root .acc-item.acc-done .acc-name{ color: #9CA3AF !important; text-decoration: line-through; }#rw-root .acc-item.acc-done .acc-pub, #rw-root .acc-item.acc-done .acc-desc{ color: #B6C0CC !important; }#rw-root .acc-item.acc-done .acc-balance, #rw-root .acc-item.acc-done .acc-tag{ color: #B6C0CC !important; }#rw-root .acc-item.acc-sortable{ background:#FBFDFF; border:1px dashed #BFDBFE; }#rw-root .sort-acts{ display:flex; align-items:center; gap:6px; }#rw-root .sort-btn{ width:32px; height:32px; border-radius:9px; border:1px solid #DBEAFE; background:#EFF6FF; color:#2563EB;
  font-size:15px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }#rw-root .sort-btn:active{ background:#DBEAFE; transform:scale(.94); }#rw-root .sort-btn.dis{ opacity:.35; }#rw-root .sort-btn.pin{ background:#FDF7F0; border-color:#F3DDC4; color:#9C6B41; font-size:14px; }#rw-root .sort-btn.pin.on{ background:#F59E0B; border-color:#F59E0B; box-shadow:0 2px 6px rgba(245,158,11,.35); }#rw-root .swipe-row{ position:relative; overflow:hidden; border-radius:16px; }#rw-root .swipe-acts{ position:absolute; top:0; right:0; bottom:0; width:168px; display:flex; }#rw-root .sw-act{ flex:1; border:none; color:#fff; font-size:13px; font-weight:600; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:3px; cursor:pointer; }#rw-root .sw-act .sw-ico{ font-size:18px; line-height:1; }#rw-root .sw-act.done{ background:#10B981; }#rw-root .sw-act.reopen{ background:#3B82F6; }#rw-root .sw-act.del{ background:#EF4444; }#rw-root .sw-act:active{ filter:brightness(.92); }#rw-root .swipe-body{ position:relative; transition:transform .22s cubic-bezier(.4,0,.2,1); touch-action:pan-y; }#rw-root .swipe-body .acc-item{ margin:0; }#rw-root .sec-sub-title{ display:flex; align-items:center; padding:10px 20px 2px; font-size:13px; font-weight:600; color:#64748B; }#rw-root .sec-sub-title .sec-head-sp{ flex:1; }#rw-root #ptr{ position:fixed; top:0; left:50%; z-index:9998; pointer-events:none;
  display:flex; align-items:center; gap:8px; padding:9px 16px;
  border-radius:0 0 14px 14px; background:#fff; box-shadow:0 6px 18px rgba(15,23,42,.14);
  font-size:13px; font-weight:500; color:#64748B; opacity:0; transition:opacity .16s;
  transform:translate(-50%,-100%); }#rw-root #ptr.show{ opacity:1; }#rw-root .ptr-spin{ width:14px; height:14px; border-radius:50%;
  border:2px solid #DBEAFE; border-top-color:#3B82F6; }#rw-root #ptr.loading .ptr-spin{ animation:ptrspin .7s linear infinite; }@keyframes ptrspin{ to{ transform:rotate(360deg); } }#rw-root .acc-item.ti-task{ padding:11px 12px; border-radius:14px; margin-top:4px; margin-bottom:4px; gap:9px; row-gap:6px; align-items:center; }#rw-root .acc-item.ti-task .acc-name{ font-size:15px; }#rw-root .acc-item.ti-task .acc-pub{ font-size:10.5px; margin-top:0; }#rw-root .acc-item.ti-task .acc-desc{ font-size:11.5px; margin-top:1px; }#rw-root .acc-item.ti-task .acc-thumb{ width:36px; height:36px; border-radius:9px; object-fit:cover; flex-shrink:0; }#rw-root .ti-dot{ width:20px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }#rw-root .ti-dot i{ width:10px; height:10px; border-radius:50%; display:block; }#rw-root .ti-dot.todo i{ background:#CBD5E1; }#rw-root .ti-dot.doing i{ background:#3B82F6; }#rw-root .ti-dot.done i{ background:#22C55E; }#rw-root .swipe-body .acc-item.ti-task{ margin:0; }#rw-root .sum-pub{ margin-top: 8px; font-size: 11.5px; font-weight: 500; color: var(--text2); }
