.ledger-modal-mask{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}
.ledger-modal{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28);color:#172033}
.ledger-modal>header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e7edf5}.ledger-modal h3{margin:0;font-size:18px}.ledger-close{border:0!important;background:transparent!important;font-size:28px!important;line-height:1;color:#64748b;cursor:pointer}
.ledger-modal form{display:flex;max-height:calc(100vh - 112px);flex-direction:column}.ledger-modal-body{overflow:auto;padding:20px 22px}.ledger-modal footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid #e7edf5;background:#f8fafc}.ledger-modal footer button{min-width:92px;height:38px;border-radius:8px;border:1px solid #cbd5e1;background:#fff}.ledger-modal footer .ledger-primary{border-color:#1476d4;background:#1476d4;color:#fff}.ledger-modal footer button:disabled{opacity:.55}
.ledger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ledger-field{display:flex;min-width:0;flex-direction:column;gap:7px;font-size:13px;color:#475569}.ledger-field input,.ledger-field select,.ledger-field textarea{box-sizing:border-box;width:100%;min-height:40px;border:1px solid #cbd5e1;border-radius:8px;padding:9px 11px;background:#fff;color:#172033;outline:none}.ledger-field textarea{min-height:84px;resize:vertical}.ledger-field input:focus,.ledger-field select:focus,.ledger-field textarea:focus{border-color:#1476d4;box-shadow:0 0 0 3px rgba(20,118,212,.12)}.ledger-field input:disabled{background:#f1f5f9;color:#64748b}.ledger-wide{grid-column:1/-1}
.ledger-user-summary{display:flex;flex-direction:column;gap:3px;margin-bottom:16px;padding:12px 14px;border-radius:10px;background:#f1f7fd}.ledger-user-summary small,.ledger-help{color:#64748b}.ledger-help{margin:14px 0 0;font-size:13px;line-height:1.65}.ledger-difference{margin:14px 0;font-size:14px}.ledger-difference b,.ledger-confirm-text .plus{color:#15803d}.ledger-confirm-text .minus{color:#dc2626}.ledger-confirm-text{line-height:1.8}.ledger-confirm-text p{margin:5px 0}
.ledger-toast{position:fixed;z-index:100000;top:22px;left:50%;transform:translateX(-50%);padding:11px 18px;border-radius:9px;background:#166534;color:#fff;box-shadow:0 10px 30px rgba(15,23,42,.22)}.ledger-toast.error{background:#b91c1c}.ledger-default-share{white-space:nowrap}
.user-ledger-panel{min-width:0;overflow:hidden}
.user-ledger-panel>.table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.user-ledger-panel .users-table{width:max-content;min-width:2240px;table-layout:auto}
.user-ledger-panel .users-table th,.user-ledger-panel .users-table td{vertical-align:top;white-space:nowrap}
.user-ledger-panel .users-table th.sticky-actions{position:sticky;right:0;z-index:4;min-width:300px;width:300px;background:#f8fafc}
.user-ledger-panel .users-table td.sticky-actions{position:sticky;right:0;z-index:3;min-width:300px;width:300px;padding:10px;background:#fff;white-space:normal;box-shadow:-8px 0 14px rgba(15,23,42,.06)}
.user-ledger-panel .users-table td.sticky-actions .table-action{display:inline-flex;min-width:78px;margin:0 6px 6px 0;white-space:nowrap}
.user-ledger-panel .users-table td:nth-child(2){max-width:168px;overflow:hidden;text-overflow:ellipsis}
.user-ledger-panel .users-table td:nth-child(3){min-width:150px}
.user-ledger-panel .users-table td:nth-child(7),.user-ledger-panel .users-table td:nth-child(8),.user-ledger-panel .users-table td:nth-child(9),.user-ledger-panel .users-table td:nth-child(24),.user-ledger-panel .users-table td:nth-child(25){max-width:180px;overflow:hidden;text-overflow:ellipsis}
.user-ledger-panel .users-table .table-user img{display:block;width:40px;height:40px;flex:0 0 40px;border-radius:50%;object-fit:cover;background:#f1f5f9}
.user-ledger-panel .users-table .ledger-hidden-col{display:none!important}
.user-ledger-panel .users-table .ledger-user-level{font-weight:700;color:#155e75}
.user-ledger-panel .users-table .ledger-more-menu{display:inline-flex;flex-wrap:wrap;align-items:center}
.user-ledger-panel .users-table .ledger-more-toggle{display:none}
.ledger-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border-radius:12px;background:#f1f7fd}.ledger-detail-head img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#e2e8f0}.ledger-detail-head div{display:flex;flex-direction:column;gap:4px}.ledger-detail-head small{color:#64748b}.ledger-detail-section{margin-top:18px}.ledger-detail-section h4{margin:0 0 10px;color:#172033;font-size:14px}.ledger-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}.ledger-detail-grid>div{min-width:0;padding:9px 10px;border:1px solid #e7edf5;border-radius:9px;background:#fbfdff}.ledger-detail-grid dt{font-size:11px;color:#64748b}.ledger-detail-grid dd{margin:4px 0 0;overflow-wrap:anywhere;color:#172033;font-size:13px}.ledger-detail-wide{grid-column:1/-1}.ledger-privilege-list{display:flex;flex-direction:column;gap:8px}.ledger-privilege-row{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(100px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid #dbe7f2;border-radius:9px;background:#fbfdff;font-size:12px}.ledger-privilege-row span{color:#475569}.ledger-privilege-row em{font-style:normal;color:#15803d}.ledger-privilege-row em.expired{color:#b45309}.ledger-empty-detail{padding:12px;color:#64748b;border-radius:9px;background:#f8fafc;text-align:center}
@media(max-width:640px){.ledger-modal-mask{padding:10px}.ledger-modal{max-height:calc(100vh - 20px);border-radius:13px}.ledger-modal form{max-height:calc(100vh - 94px)}.ledger-modal>header,.ledger-modal-body,.ledger-modal footer{padding-left:15px;padding-right:15px}.ledger-grid{grid-template-columns:1fr}.ledger-wide{grid-column:auto}.ledger-modal footer{position:sticky;bottom:0}.ledger-modal footer button{flex:1}.ledger-toast{top:12px;width:calc(100% - 28px);text-align:center}}
@media(max-width:640px){.user-ledger-panel .users-table td.sticky-actions{min-width:190px;width:190px}.user-ledger-panel .users-table td.sticky-actions .table-action{min-width:70px;margin-right:4px}.user-ledger-panel .users-table .ledger-more-toggle{display:inline-flex}.user-ledger-panel .users-table .ledger-more-menu{display:none;position:absolute;right:8px;top:calc(100% - 4px);z-index:8;min-width:130px;padding:7px;border:1px solid #dbe3ed;border-radius:10px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.16)}.user-ledger-panel .users-table .ledger-more-menu.is-open{display:flex;flex-direction:column;align-items:stretch}.user-ledger-panel .users-table .ledger-more-menu .table-action{display:flex;width:100%;margin:0;padding:8px 9px;text-align:left}.user-ledger-panel .users-table td.sticky-actions{position:sticky}.user-ledger-panel .users-table td.sticky-actions:has(.ledger-more-menu){position:sticky}.ledger-detail-grid{grid-template-columns:1fr}.ledger-detail-wide{grid-column:auto}.ledger-privilege-row{grid-template-columns:1fr 1fr}.ledger-privilege-row b{grid-column:1/-1}}

/* 台账操作菜单：PC端悬浮渐显，移动端统一收纳 */
.user-ledger-panel .users-table td.sticky-actions{position:relative}
.user-ledger-panel .users-table .ledger-more-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:78px;cursor:pointer}
.user-ledger-panel .users-table .ledger-more-menu{position:absolute;right:8px;top:calc(100% - 4px);z-index:12;display:flex;flex-direction:column;align-items:stretch;min-width:150px;padding:7px;border:1px solid #dbe3ed;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.user-ledger-panel .users-table .ledger-more-menu .table-action{display:flex;width:100%;margin:0;padding:8px 10px;text-align:left;white-space:nowrap}
.user-ledger-panel .users-table .ledger-more-menu.is-open,.user-ledger-panel .users-table td.sticky-actions:has(.ledger-more-toggle:hover) .ledger-more-menu,.user-ledger-panel .users-table td.sticky-actions:has(.ledger-more-menu:hover) .ledger-more-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
@media(max-width:640px){.user-ledger-panel .users-table td.sticky-actions{min-width:190px;width:190px}.user-ledger-panel .users-table .ledger-more-toggle{display:inline-flex}.user-ledger-panel .users-table .ledger-more-menu{right:8px;top:calc(100% - 4px);min-width:145px}.user-ledger-panel .users-table .ledger-more-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}}
@media(max-width:767px){.user-ledger-panel .users-table td.sticky-actions{vertical-align:top}.user-ledger-panel .users-table .ledger-more-toggle{touch-action:manipulation}.user-ledger-panel .users-table .ledger-more-menu{position:static;right:auto;top:auto;z-index:auto;display:none;width:100%;min-width:0;margin-top:6px;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none;box-shadow:none}.user-ledger-panel .users-table .ledger-more-menu.is-open{display:flex;flex-direction:column;align-items:stretch}}
