.page-wrapper{width:100%;min-height:100vh;display:flex}.app-page-layout{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.app-main-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:hidden auto}.app-main-scroll>.main-content-inner{box-sizing:border-box;flex:1;width:100%;min-width:0;padding:1.25rem 2rem 2rem}.app-footer{min-height:var(--app-chrome-bar-height);border-top:1px solid var(--border-color);background:var(--bg-secondary);text-align:center;box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;padding:0 1.5rem;display:flex}.app-footer-text{color:var(--text-secondary);margin:0;font-size:.75rem;font-weight:400;line-height:1.4}.app-footer-ant.ant-layout-footer{min-height:var(--app-chrome-bar-height);height:var(--app-chrome-bar-height);text-align:center;background:var(--bg-secondary);border-top:1px solid var(--border-color);box-sizing:border-box;justify-content:center;align-items:center;padding:0 1.5rem;display:flex}.app-footer-ant .app-footer-text{line-height:1.25}@media (max-width:768px){.app-footer-ant.ant-layout-footer{padding:0 1rem}.app-main-scroll>.main-content-inner{padding:1.25rem 1rem 1.5rem}.app-main-scroll>.main-content-inner>.content,.app-main-scroll>.main-content-inner>main.content{padding:0!important}}
.app-top-bar{background:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:90;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex;overflow:visible!important}.app-top-bar-title{min-width:0;color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;display:flex}.app-top-bar-title i{color:var(--primary-color)}.app-top-bar-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:1rem;min-width:0;display:flex}.app-top-bar .search-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:.5rem;width:min(400px,40vw);min-width:180px;padding:.5rem 1rem;display:flex}.app-top-bar .search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.app-top-bar .search-box i{color:var(--text-secondary);flex-shrink:0}.app-top-bar-actions .btn-sm{padding:.375rem .75rem;font-size:.8125rem}.app-top-bar-actions .btn{white-space:nowrap;flex-shrink:0}.app-theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);white-space:nowrap;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:14px;transition:all .2s;display:flex}.app-theme-toggle:hover{background:var(--sidebar-active)}.app-top-bar .export-btn{background:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.app-top-bar .export-btn:hover{opacity:.92}.app-top-bar .notification-bell{position:relative}.app-top-bar .bell-btn{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);border-radius:8px;padding:.5rem .75rem;transition:all .2s;position:relative}.app-top-bar .bell-btn:hover{background:var(--sidebar-active)}.app-top-bar .notification-badge{background:var(--danger-color);color:#fff;text-align:center;border-radius:10px;min-width:18px;padding:2px 6px;font-size:10px;font-weight:600;position:absolute;top:-5px;right:-5px}.app-top-bar .notification-dropdown{background:var(--bg-card);border:1px solid var(--border-color);width:min(380px,92vw);box-shadow:var(--shadow-lg);z-index:1000;border-radius:12px;max-height:500px;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.app-top-bar .notification-dropdown.show{display:block}.app-top-bar .notification-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.app-top-bar .notification-header h4{margin:0;font-size:16px;font-weight:600}.app-top-bar .mark-all-read{color:var(--primary-color);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:500}.app-top-bar .mark-all-read:hover{text-decoration:underline}.app-top-bar .notification-list{max-height:400px;overflow-y:auto}.app-top-bar .notification-item{text-align:left;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;padding:1rem 1.25rem;transition:background .2s;display:block}.app-top-bar .notification-item:hover{background:var(--bg-secondary)}.app-top-bar .notification-item.unread{border-left:3px solid var(--primary-color);background:#1a7f5f0d}.app-top-bar .notification-item .title{margin-bottom:4px;font-size:14px;font-weight:600}.app-top-bar .notification-item .message{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.app-top-bar .notification-item .time{color:var(--text-secondary);font-size:11px}.app-top-bar .notification-empty{text-align:center;color:var(--text-secondary);padding:2rem}@media (max-width:768px){.app-top-bar{flex-wrap:wrap;padding:.75rem 1rem .75rem 4.5rem}.app-top-bar-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}.app-top-bar .search-box{flex:100%;order:3;width:100%;max-width:none}}
.page-content-header{margin-bottom:1.25rem}.page-breadcrumb{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:14px;display:flex}.page-breadcrumb-sep{font-size:10px}
