.layout-container{height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--theme-1,#3c88f5) 0%, var(--theme-2,#2d7af0) 100%);color:#fff;flex-direction:column;flex-shrink:0;width:180px;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:2px 0 12px #3c88f51f}.sidebar.collapsed{width:60px}.sidebar-header{white-space:nowrap;border-bottom:1px solid #ffffff1f;justify-content:center;align-items:center;gap:10px;height:60px;padding:0 12px;font-size:16px;font-weight:600;transition:font-size .2s;display:flex;overflow:hidden}.sidebar-logo{object-fit:contain;flex-shrink:0;width:32px;height:32px}.sidebar-title{transition:opacity .2s,width .2s;overflow:hidden}.sidebar.collapsed .sidebar-title{opacity:0;width:0}.menu-list{flex:1;padding:10px 0}.menu-item{position:relative}.menu-title{cursor:pointer;align-items:center;gap:14px;padding:14px 18px;transition:all .25s;display:flex;position:relative}.menu-title:hover{background:var(--theme-hover,#ffffff26)}.menu-title.active{background:var(--theme-active,#fff3);border-left:3px solid #fff}.icon{text-align:center;flex-shrink:0;width:24px;font-size:18px}.menu-text{white-space:nowrap;transition:opacity .2s}.sidebar.collapsed .menu-text{opacity:0;width:0;overflow:hidden}.arrow{margin-left:auto;font-size:12px;transition:transform .2s}.sidebar.collapsed .arrow{display:none}.submenu{z-index:999;opacity:0;visibility:hidden;background:#fff;border-radius:8px;width:180px;padding:8px 0;transition:all .25s;position:absolute;top:0;left:100%;box-shadow:0 4px 20px #0000001a}.submenu.show{opacity:1;visibility:visible}.submenu-item{color:#333;cursor:pointer;padding:12px 20px;transition:background .2s}.submenu-item:hover{color:var(--theme-main,#3c88f5);background:#eaf3ff}.submenu-item.active{color:var(--theme-main,#3c88f5);background:#eaf3ff;font-weight:600}.collapse-btn{cursor:pointer;border-top:1px solid #ffffff1f;justify-content:center;align-items:center;height:50px;font-size:18px;transition:background .2s;display:flex}.collapse-btn:hover{background:var(--theme-hover,#ffffff26)}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.header{background:var(--bg-header,#fff);border-bottom:#0000;justify-content:flex-end;align-items:center;height:60px;padding:0 20px;display:flex;position:relative}.header-right{align-items:center;display:flex}.notify-btn{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;margin-right:4px;transition:background .2s;display:flex;position:relative}.notify-btn:hover{background:#f5f7fa}.notify-icon{font-size:18px;line-height:1}.notify-badge{color:#fff;background:#f5222d;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notify-panel{z-index:9999;background:#fff;border-radius:8px;flex-direction:column;width:340px;max-height:460px;display:flex;position:absolute;top:70px;right:70px;overflow:hidden;box-shadow:0 4px 20px #0000001f}.notify-panel-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notify-panel-title{color:#333;font-size:14px;font-weight:600}.notify-panel-action{color:var(--theme-main,#3c88f5);cursor:pointer;font-size:12px}.notify-panel-action:hover{opacity:.8}.notify-panel-body{flex:1;min-height:0;padding:4px 0;overflow-y:auto}.notify-panel-footer{text-align:center;border-top:1px solid #f0f0f0;flex-shrink:0;padding:8px 16px}.notify-panel-history{color:var(--theme-main,#3c88f5);cursor:pointer;font-size:12px;transition:opacity .2s}.notify-panel-history:hover{opacity:.8}.notify-empty{text-align:center;color:#999;padding:40px 0;font-size:13px}.notify-item{cursor:pointer;border-bottom:1px solid #f7f7f7;padding:12px 16px;transition:background .2s}.notify-item:hover{background:#f5f7fa}.notify-item.unread{background:#f0f7ff}.notify-item.unread:hover{background:#e8f1ff}.notify-item.unread .notify-item-title:before{content:"";vertical-align:middle;background:#f5222d;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.notify-item-title{color:#333;margin-bottom:4px;font-size:13px;font-weight:600}.notify-item-content{color:#666;margin-bottom:4px;font-size:12px;line-height:1.5}.notify-item-time{color:#aaa;font-size:11px}.user-btn{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;transition:background .2s;display:flex}.user-btn:hover{background:#f5f7fa}.avatar{background:var(--theme-main,#3c88f5);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.user-name{color:var(--theme-2,#333);font-size:14px;font-weight:500}.role-badge{color:#fff;background:var(--theme-main,#3c88f5);border-radius:3px;padding:1px 6px;font-size:11px;font-weight:500}.user-dropdown{z-index:9999;background:#fff;border-radius:8px;width:160px;padding:6px 0;position:absolute;top:70px;right:20px;box-shadow:0 4px 15px #0000001a}.dropdown-item{cursor:pointer;padding:11px 16px;font-size:14px;transition:background .2s}.dropdown-item:hover{color:var(--theme-main,#3c88f5);background:#f5f7fa}.dropdown-item.line{border-top:1px solid #eee}.dropdown-item.theme-item.active{color:var(--theme-main,#3c88f5);font-weight:600}.dropdown-fade-enter-active,.dropdown-fade-leave-active{transition:all .2s}.dropdown-fade-enter-from,.dropdown-fade-leave-to{opacity:0;transform:translateY(6px)}.tabs-wrapper{flex-shrink:0;height:42px;position:relative}.tabs{background:var(--bg-tabs,#a2c0d5);scroll-behavior:smooth;border-bottom:0 solid #e8edf3;align-items:flex-end;gap:8px;height:42px;padding:0 18px;display:flex;overflow:hidden}.tab{background:var(--theme-main,#3c88f5);border:1px solid #e8edf3;border-color:var(--theme-main,#3c88f5);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px 6px 0 0;align-items:center;gap:8px;height:36px;padding:0 10px;font-size:14px;transition:all .2s;display:flex}.tab.active{border-color:var(--theme-main,#3c88f5);color:var(--theme-main,#3c88f5);background:#fff;border-bottom:none}.tab-close{border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;display:flex}.tab-close:hover{background:#00000026}.tab.active .tab-close{color:#464545}.tab.active .tab-close:hover{background:#fff3}.tabs-arrow{cursor:pointer;color:#fff;z-index:2;background:linear-gradient(90deg,#00000040,#0000);border:none;justify-content:center;align-items:center;width:28px;font-size:12px;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0}.tabs-arrow:hover{background:linear-gradient(90deg,#0006,#0000)}.tabs-arrow--left{background:linear-gradient(90deg, var(--bg-tabs,#a2c0d5), transparent);left:0}.tabs-arrow--right{background:linear-gradient(270deg, var(--bg-tabs,#a2c0d5), transparent);right:0}.arrow-fade-enter-active,.arrow-fade-leave-active{transition:opacity .25s}.arrow-fade-enter-from,.arrow-fade-leave-to{opacity:0}.content{background-color:var(--bg-content,#efeeee);flex-direction:column;flex:1;min-height:0;padding:0 8px 8px;display:flex;overflow:hidden}.content-box{background:#fff;border:#0000;border-radius:12px;flex-direction:column;flex:1;min-height:0;padding:8px;display:flex;overflow:hidden;box-shadow:0 2px 10px #3c88f50f}.content-box>*{flex-direction:column;flex:1;min-height:0;padding:10px;display:flex;overflow:hidden}.dialog-overlay{z-index:3000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-box{background:#fff;border-radius:10px;width:420px;overflow:hidden;box-shadow:0 8px 32px #00000026}.dialog-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.dialog-title{color:#333;font-size:16px;font-weight:600}.dialog-close{color:#666;cursor:pointer;background:#f0f0f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:background .15s;display:flex}.dialog-close:hover{background:#e0e0e0}.dialog-body{flex-direction:column;gap:18px;padding:20px 24px;display:flex}.dialog-field{flex-direction:column;gap:6px;display:flex}.dialog-label{color:#555;font-size:13px;font-weight:500}.dialog-input{color:#333;border:1px solid #d9dde3;border-radius:6px;outline:none;height:36px;padding:0 12px;font-size:14px;transition:border-color .15s}.dialog-input:focus{border-color:var(--theme-1,#5196f7)}.dialog-input::placeholder{color:#bbb}.input-error{border-color:#e74c3c!important}.field-error{color:#e74c3c;font-size:12px;line-height:1}.dialog-footer{border-top:1px solid #eee;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.dialog-btn{cursor:pointer;border:1px solid #d9dde3;border-radius:6px;height:36px;padding:0 22px;font-size:14px;transition:all .15s}.btn-cancel{color:#666;background:#fff}.btn-cancel:hover{background:#f5f6f8}.btn-confirm{background:var(--theme-1,#5196f7);color:#fff;border-color:var(--theme-1,#5196f7);font-weight:500}.btn-confirm:hover:not(:disabled){background:var(--theme-main,#5788ce);border-color:var(--theme-main,#5788ce)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.dialog-fade-enter-active,.dialog-fade-leave-active{transition:opacity .2s}.dialog-fade-enter-from,.dialog-fade-leave-to{opacity:0}.profile-dialog{background:#fff;border-radius:16px;width:480px;animation:.3s profileIn;overflow:hidden;box-shadow:0 16px 48px #00000029,0 0 0 1px #0000000a}@keyframes profileIn{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.profile-dialog-fade-enter-active{transition:opacity .25s}.profile-dialog-fade-leave-active{transition:opacity .2s}.profile-dialog-fade-enter-from,.profile-dialog-fade-leave-to{opacity:0}.profile-header{background:linear-gradient(135deg, var(--theme-1,#5196f7) 0%, var(--theme-main,#5788ce) 100%);align-items:center;gap:16px;padding:28px 28px 22px;display:flex;position:relative}.profile-avatar{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;-webkit-user-select:none;user-select:none;background:#ffffff40;border:2px solid #ffffff80;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;font-weight:700;display:flex}.profile-header-info{flex:1;min-width:0}.profile-header-name{color:#fff;font-size:20px;font-weight:700;line-height:1.3}.profile-header-sub{align-items:center;gap:8px;margin-top:6px;display:flex}.profile-header-tag{color:#fffffff2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff3;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.profile-header-tag.tag_admin{color:#fff;background:#ff9800d9}.profile-header-tag.tag_success{color:#fff;background:#4caf50bf}.profile-header .dialog-close{color:#ffffffe6;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.profile-header .dialog-close:hover{background:#ffffff59}.profile-body{padding:16px 28px 8px}.profile-loading{color:#999;justify-content:center;align-items:center;gap:10px;padding:40px 0;font-size:14px;display:flex}.profile-spinner{border:2px solid #e0e0e0;border-top-color:var(--theme-1,#5196f7);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.profile-error{color:#999;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 0;font-size:14px;display:flex}.profile-error-icon{font-size:36px}.profile-info-card{background:#f8f9fb;border-radius:12px;margin-bottom:12px;padding:10px 16px}.profile-info-card--meta{background:0 0;margin-bottom:0;padding:6px 16px}.profile-info-row{align-items:center;gap:10px;padding:10px 0;display:flex}.profile-info-row:not(:last-child){border-bottom:1px solid #0000000a}.profile-info-card--meta .profile-info-row{padding:8px 0}.profile-info-card--meta .profile-info-row:not(:last-child){border-bottom:1px solid #f0f0f2}.profile-icon{text-align:center;flex-shrink:0;width:26px;font-size:18px}.profile-label{color:#999;flex-shrink:0;width:72px;font-size:13px;font-weight:500}.profile-value{color:#333;word-break:break-all;flex:1;min-width:0;font-size:14px;font-weight:500}.profile-muted{color:#aaa!important;font-weight:400!important}.profile-tags{flex-wrap:wrap;gap:6px;display:flex}.profile-role-tag{color:#3b7deb;background:#e8f0fe;border-radius:12px;padding:3px 12px;font-size:12px;font-weight:500;display:inline-block}.profile-badge{color:#888;background:#f0f0f0;border-radius:12px;padding:3px 12px;font-size:12px;font-weight:500;display:inline-block}.profile-badge.badge_primary{color:#3b7deb;background:#e8f0fe;font-weight:600}.profile-footer{border-top:1px solid #f0f0f2;justify-content:center;padding:14px 28px 22px;display:flex}.profile-footer-btn{color:#555;cursor:pointer;background:#fff;border:1px solid #d9dde3;border-radius:8px;align-items:center;gap:6px;padding:8px 28px;font-size:14px;transition:all .2s;display:inline-flex}.profile-footer-btn:hover{border-color:var(--theme-1,#5196f7);color:var(--theme-1,#5196f7);background:#f5f8fd}.history-dialog-box{flex-direction:column;width:900px;max-width:95vw;height:85vh;max-height:92vh;display:flex}.history-dialog-body{flex-direction:column;flex:1;gap:0;min-height:0;padding:0 0 12px;display:flex;overflow:hidden}.history-dialog-body>:first-child{flex:1;min-height:0;padding:0;overflow:hidden}.history-dialog-body .data-list-report-page{gap:6px;padding:0 12px}.recipient-dialog-box{flex-direction:column;width:480px;max-height:60vh;display:flex}.recipient-dialog-body{max-height:45vh;padding:12px 24px;overflow-y:auto}.recipient-detail-list{background:#f8f9fb;border-radius:6px;max-height:200px;margin-top:10px;padding:8px 12px;overflow-y:auto}.recipient-detail-item{border-bottom:1px solid #eee;align-items:center;gap:12px;padding:5px 0;font-size:12px;display:flex}.recipient-detail-item:last-child{border-bottom:none}.recipient-name{color:#333;min-width:80px;font-weight:500}.recipient-status{color:#ff9800;background:#fff3e0;border-radius:4px;padding:1px 6px;font-size:11px}.recipient-status.read{color:#4caf50;background:#e8f5e9}.recipient-time{color:#aaa;margin-left:auto;font-size:11px}*{box-sizing:border-box;margin:0;padding:0;font-family:Microsoft YaHei,system-ui,sans-serif}body{background:#f7f9fc;overflow:hidden}:root,[data-theme=blue]{--theme-1:#5196f7;--theme-2:#193050;--theme-border:#bbd2f0;--theme-text-secondary:#4e6680;--theme-header-bg:linear-gradient(135deg, #e8f0fc, #f5f9fe);--theme-hover:#ffffff26;--theme-active:#fff3;--theme-main:#5788ce;--bg-header:#5196f7;--bg-header2:#3072e0;--bg-grid-header:#d4e2f5;--bg-tabs:#8db8f9;--bg-hover:#d8e6fb;--bg-content:#8db8f9;--theme-shadow-heavy:#5788ce47;--theme-shadow-light:#5788ce26}[data-theme=green]{--theme-1:#26ce83;--theme-2:#154832;--theme-border:#cff4e4;--theme-text-secondary:#3d6b54;--theme-header-bg:linear-gradient(135deg, #e3f9ee, #f3fdf8);--theme-hover:#ffffff1f;--theme-active:#ffffff2e;--theme-main:#3ca375;--bg-header:#26ce83;--bg-header2:#159c63;--bg-grid-header:#f0fcf7;--bg-tabs:#f2f7f4;--bg-hover:#d0f7e6;--bg-content:#b8e6d0;--theme-shadow-heavy:#3ca37547;--theme-shadow-light:#3ca37526}[data-theme=pink]{--theme-1:#df7e9b;--theme-2:#f64d7c;--theme-border:#fcdfe7;--theme-text-secondary:#8a4a62;--theme-header-bg:linear-gradient(135deg, #fce8ee, #fdf4f7);--theme-hover:#ffffff1f;--theme-active:#ffffff2e;--theme-main:#cf849a;--bg-header:#df7e9b;--bg-header2:#d45a7e;--bg-grid-header:#f9f0f3;--bg-tabs:#f5d0db;--bg-hover:#fbdbe5;--bg-content:#f5d0db;--theme-shadow-heavy:#cf849a47;--theme-shadow-light:#cf849a26}[data-theme=dark]{--theme-1:#7591ad;--theme-2:#1a2530;--theme-border:#ddecfc;--theme-text-secondary:#4a5a6e;--theme-header-bg:linear-gradient(135deg, #e8edf2, #f4f6f9);--theme-hover:#ffffff14;--theme-active:#ffffff1f;--theme-main:#708296;--bg-header:#7591ad;--bg-header2:#5a7493;--bg-grid-header:#d9dee2;--bg-tabs:#8a9dae;--bg-hover:#c6ccd1;--bg-content:#8a9dae;--theme-shadow-heavy:#70829647;--theme-shadow-light:#70829626}[data-theme=khaki]{--theme-1:#c8b48a;--theme-2:#5a4a32;--theme-border:#f2e1b7;--theme-text-secondary:#6b5a3e;--theme-header-bg:linear-gradient(135deg, #f5edd8, #faf6ec);--theme-hover:#ffffff26;--theme-active:#fff3;--theme-main:#a58d5e;--bg-header:#c8b48a;--bg-header2:#a88c50;--bg-grid-header:#e9e0cb;--bg-tabs:#d4c4a0;--bg-hover:#fbf1d8;--bg-content:#d4c4a0;--theme-shadow-heavy:#a58d5e47;--theme-shadow-light:#a58d5e26}
